diff --git a/docs/index.json b/docs/index.json
index 61a64aaa..bcb7e3ae 100644
--- a/docs/index.json
+++ b/docs/index.json
@@ -1 +1 @@
-{"repository_name":"Cosmo","body":"\n# Cosmo\n\nCosmo is a statically-typed programming language written in pure Crystal. \nWe have an [extension for VS code](https://marketplace.visualstudio.com/items?itemName=cosmo.vscode-cosmo) ([source](https://github.com/R-unic/vscode-cosmo)), however it currently only features syntax highlighting.\n\n## Things I Gotta Do\n\n- Enums\n- Throw when defining an already-defined class\n- `uint` type\n- Allow \"!\" character identifiers for macros\n- Stack trace\n- Package manager\n- Performance boosts lol\n- Multiple assignment\n- Somehow typecheck blocks before execution\n- Fix weird expression parsing (`[0].123` evaluates to 0.123??)\n- Literal wrapper classes (vector, table) for utility methods (filter, map, etc)\n- Interfaces\n- Classes\n * single inheritance\n * mixins\n * methods\n * `$` (this)\n- Better type system\n * generics\n * casting\n * `typeof`\n * intersections\n\n## Things I Might Do\n\n- Make declarations immutable by default and replace `const` with `mut`\n- Make into a VM or compiler\n- C bindings\n\n## Installation\n\n1. Install [Crystal](https://crystal-lang.org/install/).\n2. Run `sudo make install`.\n3. Assert everything is working by running `cosmo -h`\n\n## Contributing\n\n1. Fork it ()\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Test your code (`make test`)\n5. Push to the branch (`make publish`)\n6. Create a new Pull Request\n\n## Contributors\n\n- [R-unic](https://github.com/R-unic) - creator and maintainer\n","program":{"html_id":"Cosmo/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"ancestors":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"locations":[],"repository_name":"Cosmo","program":true,"enum":false,"alias":false,"const":false,"constants":[{"id":"MAX_INTRINSIC_PARAMS","name":"MAX_INTRINSIC_PARAMS","value":"255"},{"id":"TAB","name":"TAB","value":"\" \""}],"included_modules":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"extended_modules":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"class_methods":[{"html_id":"get_elapsed(start:Time::Span,finish:Time::Span):String-class-method","name":"get_elapsed","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Time::Span"},{"name":"finish","external_name":"finish","restriction":"Time::Span"}],"args_string":"(start : Time::Span, finish : Time::Span) : String","args_html":"(start : Time::Span, finish : Time::Span) : String","location":{"filename":"src/util.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/util.cr#L4"},"def":{"name":"get_elapsed","args":[{"name":"start","external_name":"start","restriction":"Time::Span"},{"name":"finish","external_name":"finish","restriction":"Time::Span"}],"return_type":"String","visibility":"Public","body":"span = finish - start\nms = span.total_milliseconds.round(5)\nif ms > 1000\n return \"#{(ms / 1000).round(2)} seconds\"\nend\n\"#{ms}ms\"\n"}},{"html_id":"get_shard:YAML::Any-class-method","name":"get_shard","doc":"Returns `shard.yml` as a `YAML::Any`","summary":"
Returns shard.yml as a YAML::Any
","abstract":false,"location":{"filename":"src/util.cr","line_number":12,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/util.cr#L12"},"def":{"name":"get_shard","return_type":"YAML::Any","visibility":"Public","body":"raw_yaml = File.read(File.join(File.dirname(\"/home/runic/Dev/crystal/cosmo/src/util.cr\"), \"..\", \"shard.yml\"))\nYAML.parse(raw_yaml)\n"}}],"types":[{"html_id":"Cosmo/Cosmo","path":"Cosmo.html","kind":"module","full_name":"Cosmo","name":"Cosmo","abstract":false,"locations":[{"filename":"src/cosmo.cr","line_number":7,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo.cr#L7"},{"filename":"src/cosmo/logger.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/logger.cr#L1"},{"filename":"src/cosmo/runtime/intrinsic/global.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/intrinsic/global.cr#L3"},{"filename":"src/cosmo/runtime/typechecker.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L6"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Version","name":"Version","value":"\"v\" + get_shard[\"version\"].to_s"}],"extended_modules":[{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"}],"instance_methods":[{"html_id":"read_file(path:String)-instance-method","name":"read_file","doc":"Reads a file at `path` and returns it's contents","summary":"
","abstract":false,"location":{"filename":"src/cosmo.cr","line_number":77,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo.cr#L77"},"def":{"name":"run_repl","visibility":"Public","body":"puts(\"Welcome to the #{rainbow(\"Cosmo\")} REPL\")\nloop do\n line = read_line\n if line.nil?\n break\n end\n puts((read_source(line, file_path: \"repl\")).to_s)\nend\n"}}],"types":[{"html_id":"Cosmo/Cosmo/AST","path":"Cosmo/AST.html","kind":"module","full_name":"Cosmo::AST","name":"AST","abstract":false,"locations":[{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L3"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"}],"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"types":[{"html_id":"Cosmo/Cosmo/AST/Expression","path":"Cosmo/AST/Expression.html","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression","abstract":false,"ancestors":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"namespace":{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"},"types":[{"html_id":"Cosmo/Cosmo/AST/Expression/Access","path":"Cosmo/AST/Expression/Access.html","kind":"class","full_name":"Cosmo::AST::Expression::Access","name":"Access","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":76,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L76"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(object:Cosmo::AST::Expression::Base,key:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::Token"}],"args_string":"(object : Cosmo::AST::Expression::Base, key : Cosmo::Token)","args_html":"(object : Cosmo::AST::Expression::Base, key : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":80,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L80"},"def":{"name":"new","args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(object, key)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":83,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L83"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_access_expr(self)"}},{"html_id":"key:Token-instance-method","name":"key","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":78,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L78"},"def":{"name":"key","return_type":"Token","visibility":"Public","body":"@key"}},{"html_id":"object:Base-instance-method","name":"object","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":77,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L77"},"def":{"name":"object","return_type":"Base","visibility":"Public","body":"@object"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":91,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L91"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Access<\\n\" + \" #{TAB * indent}object: #{@object.to_s(indent + 1)},\\n\") + \" #{TAB * indent}key: #{@key.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":87,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L87"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@object.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","path":"Cosmo/AST/Expression/Base.html","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base","abstract":true,"superclass":{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":21,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L21"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/AST/Expression/Access","kind":"class","full_name":"Cosmo::AST::Expression::Access","name":"Access"},{"html_id":"Cosmo/Cosmo/AST/Expression/BinaryOp","kind":"class","full_name":"Cosmo::AST::Expression::BinaryOp","name":"BinaryOp"},{"html_id":"Cosmo/Cosmo/AST/Expression/CompoundAssignment","kind":"class","full_name":"Cosmo::AST::Expression::CompoundAssignment","name":"CompoundAssignment"},{"html_id":"Cosmo/Cosmo/AST/Expression/FunctionCall","kind":"class","full_name":"Cosmo::AST::Expression::FunctionCall","name":"FunctionCall"},{"html_id":"Cosmo/Cosmo/AST/Expression/Index","kind":"class","full_name":"Cosmo::AST::Expression::Index","name":"Index"},{"html_id":"Cosmo/Cosmo/AST/Expression/Is","kind":"class","full_name":"Cosmo::AST::Expression::Is","name":"Is"},{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Parameter","kind":"class","full_name":"Cosmo::AST::Expression::Parameter","name":"Parameter"},{"html_id":"Cosmo/Cosmo/AST/Expression/PropertyAssignment","kind":"class","full_name":"Cosmo::AST::Expression::PropertyAssignment","name":"PropertyAssignment"},{"html_id":"Cosmo/Cosmo/AST/Expression/RangeLiteral","kind":"class","full_name":"Cosmo::AST::Expression::RangeLiteral","name":"RangeLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/TableLiteral","kind":"class","full_name":"Cosmo::AST::Expression::TableLiteral","name":"TableLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/TernaryOp","kind":"class","full_name":"Cosmo::AST::Expression::TernaryOp","name":"TernaryOp"},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeAlias","kind":"class","full_name":"Cosmo::AST::Expression::TypeAlias","name":"TypeAlias"},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeRef","kind":"class","full_name":"Cosmo::AST::Expression::TypeRef","name":"TypeRef"},{"html_id":"Cosmo/Cosmo/AST/Expression/UnaryOp","kind":"class","full_name":"Cosmo::AST::Expression::UnaryOp","name":"UnaryOp"},{"html_id":"Cosmo/Cosmo/AST/Expression/Var","kind":"class","full_name":"Cosmo::AST::Expression::Var","name":"Var"},{"html_id":"Cosmo/Cosmo/AST/Expression/VarAssignment","kind":"class","full_name":"Cosmo::AST::Expression::VarAssignment","name":"VarAssignment"},{"html_id":"Cosmo/Cosmo/AST/Expression/VarDeclaration","kind":"class","full_name":"Cosmo::AST::Expression::VarDeclaration","name":"VarDeclaration"},{"html_id":"Cosmo/Cosmo/AST/Expression/VectorLiteral","kind":"class","full_name":"Cosmo::AST::Expression::VectorLiteral","name":"VectorLiteral"}],"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"instance_methods":[{"html_id":"accept(visitor:Visitor(R))forallR-instance-method","name":"accept","abstract":true,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) forall R","args_html":"(visitor : Visitor(R)) forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":22,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L22"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"visibility":"Public","body":""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/BigIntLiteral","path":"Cosmo/AST/Expression/BigIntLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::BigIntLiteral","name":"BigIntLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":467,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L467"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Int128,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Int128"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Int128, token)","args_html":"(value : Int128, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":468,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L468"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Int128"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":469,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L469"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/BinaryOp","path":"Cosmo/AST/Expression/BinaryOp.html","kind":"class","full_name":"Cosmo::AST::Expression::BinaryOp","name":"BinaryOp","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":331,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L331"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(left:Cosmo::AST::Expression::Base,operator:Cosmo::Token,right:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"left","external_name":"left","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"right","external_name":"right","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(left : Cosmo::AST::Expression::Base, operator : Cosmo::Token, right : Cosmo::AST::Expression::Base)","args_html":"(left : Cosmo::AST::Expression::Base, operator : Cosmo::Token, right : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":336,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L336"},"def":{"name":"new","args":[{"name":"left","external_name":"left","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"right","external_name":"right","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(left, operator, right)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":339,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L339"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_binary_op_expr(self)"}},{"html_id":"left:Base-instance-method","name":"left","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":332,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L332"},"def":{"name":"left","return_type":"Base","visibility":"Public","body":"@left"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":333,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L333"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"right:Base-instance-method","name":"right","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":334,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L334"},"def":{"name":"right","return_type":"Base","visibility":"Public","body":"@right"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":347,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L347"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Binary<\\n\" + \" #{TAB * indent}left: #{@left.to_s(indent + 1)},\\n\") + \" #{TAB * indent}operator: #{@operator.to_s},\\n\") + \" #{TAB * indent}right: #{@right.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":343,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L343"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@left.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/BooleanLiteral","path":"Cosmo/AST/Expression/BooleanLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::BooleanLiteral","name":"BooleanLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":488,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L488"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Bool,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Bool, token)","args_html":"(value : Bool, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":489,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L489"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Bool"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":490,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L490"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/CharLiteral","path":"Cosmo/AST/Expression/CharLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::CharLiteral","name":"CharLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":460,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L460"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Char,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Char"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Char, token)","args_html":"(value : Char, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":461,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L461"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Char"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":462,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L462"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<'#{@value}'>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/CompoundAssignment","path":"Cosmo/AST/Expression/CompoundAssignment.html","kind":"class","full_name":"Cosmo::AST::Expression::CompoundAssignment","name":"CompoundAssignment","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":239,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L239"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(name:Cosmo::Token,operator:Cosmo::Token,value:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::Cosmo::Token"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(name : Cosmo::Token, operator : Cosmo::Token, value : Cosmo::AST::Expression::Base)","args_html":"(name : Cosmo::Token, operator : Cosmo::Token, value : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":244,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L244"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::Cosmo::Token"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name, operator, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":247,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L247"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_compound_assignment_expr(self)"}},{"html_id":"name:Token-instance-method","name":"name","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":240,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L240"},"def":{"name":"name","return_type":"Token","visibility":"Public","body":"@name"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":241,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L241"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":255,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L255"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"CompoundAssignment<\\n\"\n\" #{TAB * indent}name: #{@name.value},\\n\"\n\" #{TAB * indent}operator: #{@operator.to_s},\\n\"\n\" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\"\n\"#{TAB * indent}>\"\n"}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":251,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L251"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@name"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":242,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L242"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/FloatLiteral","path":"Cosmo/AST/Expression/FloatLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::FloatLiteral","name":"FloatLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":481,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L481"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Float64|Float32|Float16|Float8,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Float32 | Float16 | Float8"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Float64 | Float32 | Float16 | Float8, token)","args_html":"(value : Float64 | Float32 | Float16 | Float8, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":482,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L482"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Float64 | Float32 | Float16 | Float8"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":483,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L483"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/FunctionCall","path":"Cosmo/AST/Expression/FunctionCall.html","kind":"class","full_name":"Cosmo::AST::Expression::FunctionCall","name":"FunctionCall","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":189,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L189"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(callee:Cosmo::AST::Expression::Base,arguments:Array(Cosmo::AST::Expression::Base))-class-method","name":"new","abstract":false,"args":[{"name":"callee","external_name":"callee","restriction":"::Cosmo::AST::Expression::Base"},{"name":"arguments","external_name":"arguments","restriction":"::Array(::Cosmo::AST::Expression::Base)"}],"args_string":"(callee : Cosmo::AST::Expression::Base, arguments : Array(Cosmo::AST::Expression::Base))","args_html":"(callee : Cosmo::AST::Expression::Base, arguments : Array(Cosmo::AST::Expression::Base))","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":193,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L193"},"def":{"name":"new","args":[{"name":"callee","external_name":"callee","restriction":"::Cosmo::AST::Expression::Base"},{"name":"arguments","external_name":"arguments","restriction":"::Array(::Cosmo::AST::Expression::Base)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(callee, arguments)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":196,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L196"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_fn_call_expr(self)"}},{"html_id":"arguments:Array(Base)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":191,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L191"},"def":{"name":"arguments","return_type":"Array(Base)","visibility":"Public","body":"@arguments"}},{"html_id":"callee:Base-instance-method","name":"callee","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":190,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L190"},"def":{"name":"callee","return_type":"Base","visibility":"Public","body":"@callee"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":204,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L204"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((((\"FunctionCall<\\n\" + \" #{TAB * indent}var: #{@callee.to_s(indent + 1)},\\n\") + \" #{TAB * indent}arguments: [\\n\") + \" #{TAB * indent}#{@arguments.map(&.to_s(indent + 2)).join(\",\\n#{TAB * (indent + 2)}\")}\\n\") + \" #{TAB * indent}]\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":200,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L200"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@callee.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Index","path":"Cosmo/AST/Expression/Index.html","kind":"class","full_name":"Cosmo::AST::Expression::Index","name":"Index","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":99,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L99"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(object:Cosmo::AST::Expression::Base,key:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(object : Cosmo::AST::Expression::Base, key : Cosmo::AST::Expression::Base)","args_html":"(object : Cosmo::AST::Expression::Base, key : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":103,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L103"},"def":{"name":"new","args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(object, key)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":106,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L106"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_index_expr(self)"}},{"html_id":"key:Base-instance-method","name":"key","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":101,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L101"},"def":{"name":"key","return_type":"Base","visibility":"Public","body":"@key"}},{"html_id":"object:Base-instance-method","name":"object","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":100,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L100"},"def":{"name":"object","return_type":"Base","visibility":"Public","body":"@object"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":114,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L114"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Index<\\n\" + \" #{TAB * indent}object: #{@object.to_s(indent + 1)},\\n\") + \" #{TAB * indent}key: #{@key.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":110,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L110"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@object.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/IntLiteral","path":"Cosmo/AST/Expression/IntLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::IntLiteral","name":"IntLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":474,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L474"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Int64|Int32|Int16|Int8,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Int64 | Int32 | Int16 | Int8"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Int64 | Int32 | Int16 | Int8, token)","args_html":"(value : Int64 | Int32 | Int16 | Int8, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":475,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L475"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Int64 | Int32 | Int16 | Int8"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":476,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L476"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Is","path":"Cosmo/AST/Expression/Is.html","kind":"class","full_name":"Cosmo::AST::Expression::Is","name":"Is","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":122,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L122"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Cosmo::AST::Expression::Base,type:Cosmo::AST::Expression::TypeRef)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"type","external_name":"type","restriction":"::Cosmo::AST::Expression::TypeRef"}],"args_string":"(value : Cosmo::AST::Expression::Base, type : Cosmo::AST::Expression::TypeRef)","args_html":"(value : Cosmo::AST::Expression::Base, type : Cosmo::AST::Expression::TypeRef)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":126,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L126"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"type","external_name":"type","restriction":"::Cosmo::AST::Expression::TypeRef"}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, type)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":129,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L129"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_is_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":137,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L137"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Is<\\n\" + \" #{TAB * indent}value: #{@value.to_s(indent + 1)},\\n\") + \" #{TAB * indent}type: #{@type.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":133,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L133"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@value.token"}},{"html_id":"type:TypeRef-instance-method","name":"type","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":124,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L124"},"def":{"name":"type","return_type":"TypeRef","visibility":"Public","body":"@type"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":123,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L123"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","path":"Cosmo/AST/Expression/Literal.html","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal","abstract":true,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":379,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L379"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/AST/Expression/BigIntLiteral","kind":"class","full_name":"Cosmo::AST::Expression::BigIntLiteral","name":"BigIntLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/BooleanLiteral","kind":"class","full_name":"Cosmo::AST::Expression::BooleanLiteral","name":"BooleanLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/CharLiteral","kind":"class","full_name":"Cosmo::AST::Expression::CharLiteral","name":"CharLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/FloatLiteral","kind":"class","full_name":"Cosmo::AST::Expression::FloatLiteral","name":"FloatLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/IntLiteral","kind":"class","full_name":"Cosmo::AST::Expression::IntLiteral","name":"IntLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/NoneLiteral","kind":"class","full_name":"Cosmo::AST::Expression::NoneLiteral","name":"NoneLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/StringLiteral","kind":"class","full_name":"Cosmo::AST::Expression::StringLiteral","name":"StringLiteral"}],"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Bool|Char|Float32|Float64|Int128|Int16|Int32|Int64|Int8|String|Nil,token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"::Bool | ::Char | ::Float32 | ::Float64 | ::Int128 | ::Int16 | ::Int32 | ::Int64 | ::Int8 | ::String | ::Nil"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(value : Bool | Char | Float32 | Float64 | Int128 | Int16 | Int32 | Int64 | Int8 | String | Nil, token : Cosmo::Token)","args_html":"(value : Bool | Char | Float32 | Float64 | Int128 | Int16 | Int32 | Int64 | Int8 | String | Nil, token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":383,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L383"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"::Bool | ::Char | ::Float32 | ::Float64 | ::Int128 | ::Int16 | ::Int32 | ::Int64 | ::Int8 | ::String | ::Nil"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":385,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L385"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_literal_expr(self)"}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":380,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L380"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}},{"html_id":"value:LiteralType-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":381,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L381"},"def":{"name":"value","return_type":"LiteralType","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/NoneLiteral","path":"Cosmo/AST/Expression/NoneLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::NoneLiteral","name":"NoneLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":495,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L495"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Nil,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Nil"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Nil, token)","args_html":"(value : Nil, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":496,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L496"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Nil"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":497,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L497"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Parameter","path":"Cosmo/AST/Expression/Parameter.html","kind":"class","full_name":"Cosmo::AST::Expression::Parameter","name":"Parameter","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":214,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L214"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(typedef:Cosmo::Token,identifier:Cosmo::Token,const:Bool,default_value:Cosmo::AST::Expression::Base|Nil=NoneLiteral.new(nil,identifier))-class-method","name":"new","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"const","external_name":"const","restriction":"::Bool"},{"name":"default_value","default_value":"NoneLiteral.new(nil, identifier)","external_name":"default_value","restriction":"::Cosmo::AST::Expression::Base | ::Nil"}],"args_string":"(typedef : Cosmo::Token, identifier : Cosmo::Token, const : Bool, default_value : Cosmo::AST::Expression::Base | Nil = NoneLiteral.new(nil, identifier))","args_html":"(typedef : Cosmo::Token, identifier : Cosmo::Token, const : Bool, default_value : Cosmo::AST::Expression::Base | Nil = NoneLiteral.new(nil, identifier))","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":220,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L220"},"def":{"name":"new","args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"const","external_name":"const","restriction":"::Bool"},{"name":"default_value","default_value":"NoneLiteral.new(nil, identifier)","external_name":"default_value","restriction":"::Cosmo::AST::Expression::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(typedef, identifier, const, default_value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":223,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L223"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":""}},{"html_id":"const?:Bool-instance-method","name":"const?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":217,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L217"},"def":{"name":"const?","return_type":"Bool","visibility":"Public","body":"@const"}},{"html_id":"default_value:Base|Nil-instance-method","name":"default_value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":218,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L218"},"def":{"name":"default_value","return_type":"Base | ::Nil","visibility":"Public","body":"@default_value"}},{"html_id":"identifier:Token-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":216,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L216"},"def":{"name":"identifier","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":66,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L66"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"if value.is_a?(Base)\n value_s = (@value.as(Base)).to_s(indent + 1)\nelse\n value_s = @value.to_s\nend\n\"PropertyAssignment\"\n"}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":62,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L62"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@object.token"}},{"html_id":"value:Base|ValueType-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":53,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L53"},"def":{"name":"value","return_type":"Base | ValueType","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/RangeLiteral","path":"Cosmo/AST/Expression/RangeLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::RangeLiteral","name":"RangeLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":390,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L390"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(from:Cosmo::AST::Expression::Base,to:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"::Cosmo::AST::Expression::Base"},{"name":"to","external_name":"to","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(from : Cosmo::AST::Expression::Base, to : Cosmo::AST::Expression::Base)","args_html":"(from : Cosmo::AST::Expression::Base, to : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":394,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L394"},"def":{"name":"new","args":[{"name":"from","external_name":"from","restriction":"::Cosmo::AST::Expression::Base"},{"name":"to","external_name":"to","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(from, to)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":397,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L397"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_range_literal_expr(self)"}},{"html_id":"from:Base-instance-method","name":"from","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":391,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L391"},"def":{"name":"from","return_type":"Base","visibility":"Public","body":"@from"}},{"html_id":"to:Base-instance-method","name":"to","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":392,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L392"},"def":{"name":"to","return_type":"Base","visibility":"Public","body":"@to"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":405,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L405"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"RangeLiteral<\\n\" + \" #{TAB * indent}from: #{@from.to_s(indent + 1)},\\n\") + \" #{TAB * indent}to: #{@to.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":401,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L401"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@from.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/StringLiteral","path":"Cosmo/AST/Expression/StringLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::StringLiteral","name":"StringLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":453,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L453"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:String,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : String, token)","args_html":"(value : String, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":454,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L454"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":455,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L455"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<\\\"#{@value}\\\">\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TableLiteral","path":"Cosmo/AST/Expression/TableLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::TableLiteral","name":"TableLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":413,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L413"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(hashmap:Hash(Cosmo::AST::Expression::Base,Cosmo::AST::Expression::Base),token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"hashmap","external_name":"hashmap","restriction":"::Hash(::Cosmo::AST::Expression::Base, ::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(hashmap : Hash(Cosmo::AST::Expression::Base, Cosmo::AST::Expression::Base), token : Cosmo::Token)","args_html":"(hashmap : Hash(Cosmo::AST::Expression::Base, Cosmo::AST::Expression::Base), token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":417,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L417"},"def":{"name":"new","args":[{"name":"hashmap","external_name":"hashmap","restriction":"::Hash(::Cosmo::AST::Expression::Base, ::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(hashmap, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":419,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L419"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_table_literal_expr(self)"}},{"html_id":"hashmap:Hash(Base,Base)-instance-method","name":"hashmap","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":415,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L415"},"def":{"name":"hashmap","return_type":"Hash(Base, Base)","visibility":"Public","body":"@hashmap"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":423,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L423"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"s = \"Literal<{\\n\"\n@hashmap.keys.each do |k|\n s = s + (TAB * (indent + 1))\n s = s + (k.to_s(indent + 1))\n s = s + \" -> \"\n s = s + (@hashmap[k].to_s(indent + 1))\n s = s + \"\\n\"\nend\ns + \"#{TAB * indent}}>\"\n"}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":414,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L414"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TernaryOp","path":"Cosmo/AST/Expression/TernaryOp.html","kind":"class","full_name":"Cosmo::AST::Expression::TernaryOp","name":"TernaryOp","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":25,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L25"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(condition:Cosmo::AST::Expression::Base,operator:Cosmo::Token,then:Cosmo::AST::Expression::Base,else:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Expression::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(condition : Cosmo::AST::Expression::Base, operator : Cosmo::Token, then : Cosmo::AST::Expression::Base, else : Cosmo::AST::Expression::Base)","args_html":"(condition : Cosmo::AST::Expression::Base, operator : Cosmo::Token, then : Cosmo::AST::Expression::Base, else : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":31,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L31"},"def":{"name":"new","args":[{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Expression::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(condition, operator, then, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":34,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L34"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_ternary_op_expr(self)"}},{"html_id":"condition:Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":26,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L26"},"def":{"name":"condition","return_type":"Base","visibility":"Public","body":"@condition"}},{"html_id":"else:Base-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":29,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L29"},"def":{"name":"else","return_type":"Base","visibility":"Public","body":"@else"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":27,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L27"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"then:Base-instance-method","name":"then","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":28,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L28"},"def":{"name":"then","return_type":"Base","visibility":"Public","body":"@then"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":42,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L42"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Ternary<\\n\" + \" #{TAB * indent}left: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}then: #{@then.to_s(indent + 1)}\\n\") + \" #{TAB * indent}else: #{@else.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":38,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L38"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@operator"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeAlias","path":"Cosmo/AST/Expression/TypeAlias.html","kind":"class","full_name":"Cosmo::AST::Expression::TypeAlias","name":"TypeAlias","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":164,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L164"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(type_token:Cosmo::Token,var:Cosmo::AST::Expression::Var,value:Cosmo::AST::Expression::Base,constant:Bool,visibility)-class-method","name":"new","abstract":false,"args":[{"name":"type_token","external_name":"type_token","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"args_string":"(type_token : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","args_html":"(type_token : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":171,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L171"},"def":{"name":"new","args":[{"name":"type_token","external_name":"type_token","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(type_token, var, value, constant, visibility)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":174,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L174"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_type_alias_expr(self)"}},{"html_id":"constant?:Bool-instance-method","name":"constant?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":168,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L168"},"def":{"name":"constant?","return_type":"Bool","visibility":"Public","body":"@constant"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":182,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L182"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"TypeAlias<\\n\" + \" #{TAB * indent}#{@var.token.value.to_s}: #{@value.nil? ? \"none\" : @value.not_nil!.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":178,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L178"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@var.token"}},{"html_id":"type_token:Token-instance-method","name":"type_token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":165,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L165"},"def":{"name":"type_token","return_type":"Token","visibility":"Public","body":"@type_token"}},{"html_id":"value:Expression::Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":167,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L167"},"def":{"name":"value","return_type":"Expression::Base","visibility":"Public","body":"@value"}},{"html_id":"var:Var-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":166,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L166"},"def":{"name":"var","return_type":"Var","visibility":"Public","body":"@var"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":169,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L169"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeRef","path":"Cosmo/AST/Expression/TypeRef.html","kind":"class","full_name":"Cosmo::AST::Expression::TypeRef","name":"TypeRef","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":145,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L145"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(name:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::Cosmo::Token"}],"args_string":"(name : Cosmo::Token)","args_html":"(name : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":148,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L148"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":151,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L151"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_type_ref_expr(self)"}},{"html_id":"name:Token-instance-method","name":"name","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":146,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L146"},"def":{"name":"name","return_type":"Token","visibility":"Public","body":"@name"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":159,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L159"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"TypeRef<\\\"#{@name.value.to_s}\\\">\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":155,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L155"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@name"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/UnaryOp","path":"Cosmo/AST/Expression/UnaryOp.html","kind":"class","full_name":"Cosmo::AST::Expression::UnaryOp","name":"UnaryOp","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":356,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L356"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(operator:Cosmo::Token,operand:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"operand","external_name":"operand","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(operator : Cosmo::Token, operand : Cosmo::AST::Expression::Base)","args_html":"(operator : Cosmo::Token, operand : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":360,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L360"},"def":{"name":"new","args":[{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"operand","external_name":"operand","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(operator, operand)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":363,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L363"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_unary_op_expr(self)"}},{"html_id":"operand:Base-instance-method","name":"operand","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":358,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L358"},"def":{"name":"operand","return_type":"Base","visibility":"Public","body":"@operand"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":357,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L357"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":371,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L371"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Unary<\\n\" + \" #{TAB * indent}operator: #{@operator.to_s},\\n\") + \" #{TAB * indent}operand: #{@operand.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":367,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L367"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@operator"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Var","path":"Cosmo/AST/Expression/Var.html","kind":"class","full_name":"Cosmo::AST::Expression::Var","name":"Var","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":316,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L316"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(token : Cosmo::Token)","args_html":"(token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":319,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L319"},"def":{"name":"new","args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":322,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L322"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_var_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":326,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L326"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Var<\\\"#{@token.value.to_s}\\\">\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":317,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L317"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/VarAssignment","path":"Cosmo/AST/Expression/VarAssignment.html","kind":"class","full_name":"Cosmo::AST::Expression::VarAssignment","name":"VarAssignment","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":293,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L293"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(var:Cosmo::AST::Expression::Var,value:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base)","args_html":"(var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":297,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L297"},"def":{"name":"new","args":[{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(var, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":300,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L300"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_var_assignment_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":308,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L308"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"VarAssignment<\\n\" + \" #{TAB * indent}var: #{@var.token.value.to_s},\\n\") + \" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":304,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L304"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@var.token"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":295,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L295"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}},{"html_id":"var:Var-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":294,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L294"},"def":{"name":"var","return_type":"Var","visibility":"Public","body":"@var"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/VarDeclaration","path":"Cosmo/AST/Expression/VarDeclaration.html","kind":"class","full_name":"Cosmo::AST::Expression::VarDeclaration","name":"VarDeclaration","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":264,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L264"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(typedef:Cosmo::Token,var:Cosmo::AST::Expression::Var,value:Cosmo::AST::Expression::Base,constant:Bool,visibility)-class-method","name":"new","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"args_string":"(typedef : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","args_html":"(typedef : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":271,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L271"},"def":{"name":"new","args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(typedef, var, value, constant, visibility)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":274,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L274"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_var_declaration_expr(self)"}},{"html_id":"constant?:Bool-instance-method","name":"constant?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":268,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L268"},"def":{"name":"constant?","return_type":"Bool","visibility":"Public","body":"@constant"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":282,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L282"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((((\"VarDeclaration<\\n\" + \" #{TAB * indent}typedef: #{@typedef.value},\\n\") + \" #{TAB * indent}var: #{@var.token.value.to_s},\\n\") + \" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\") + \" #{TAB * indent}constant?: #{@constant}\\n\") + \" #{TAB * indent}visibility: #{@visibility.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":278,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L278"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@var.token"}},{"html_id":"typedef:Token-instance-method","name":"typedef","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":265,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L265"},"def":{"name":"typedef","return_type":"Token","visibility":"Public","body":"@typedef"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":267,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L267"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}},{"html_id":"var:Var-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":266,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L266"},"def":{"name":"var","return_type":"Var","visibility":"Public","body":"@var"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":269,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L269"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/VectorLiteral","path":"Cosmo/AST/Expression/VectorLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::VectorLiteral","name":"VectorLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":436,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L436"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(values:Array(Cosmo::AST::Expression::Base),token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"::Array(::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(values : Array(Cosmo::AST::Expression::Base), token : Cosmo::Token)","args_html":"(values : Array(Cosmo::AST::Expression::Base), token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":440,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L440"},"def":{"name":"new","args":[{"name":"values","external_name":"values","restriction":"::Array(::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(values, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":442,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L442"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_vector_literal_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
It yields itself for any node, but if it's a Statement::ExpressionList, then it returns the first node of the ExpressionList statement
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":21,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L21"},"def":{"name":"single_expression","return_type":"Node","visibility":"Public","body":"single_expression? || self"}},{"html_id":"single_expression?:Node|Nil-instance-method","name":"single_expression?","doc":"It yields `nil` always for any regular node.\n(It is overridden by `ExpressionList` to implement `#single_expression`.)","summary":"
It yields nil always for any regular node.
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":27,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L27"},"def":{"name":"single_expression?","return_type":"Node | ::Nil","visibility":"Public","body":"nil"}},{"html_id":"start_location:Location|Nil-instance-method","name":"start_location","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":12,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L12"},"def":{"name":"start_location","return_type":"Location | ::Nil","visibility":"Public","body":"@start_location"}},{"html_id":"start_location=(start_location:Location|Nil)-instance-method","name":"start_location=","abstract":false,"args":[{"name":"start_location","external_name":"start_location","restriction":"Location | ::Nil"}],"args_string":"(start_location : Location | Nil)","args_html":"(start_location : Location | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":12,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L12"},"def":{"name":"start_location=","args":[{"name":"start_location","external_name":"start_location","restriction":"Location | ::Nil"}],"visibility":"Public","body":"@start_location = start_location"}},{"html_id":"token:Token-instance-method","name":"token","abstract":true,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":16,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L16"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":""}},{"html_id":"visibility:Cosmo::AST::Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":14,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L14"},"def":{"name":"visibility","visibility":"Public","body":"@visibility"}},{"html_id":"visibility=(visibility:Cosmo::AST::Visibility)-instance-method","name":"visibility=","abstract":false,"args":[{"name":"visibility","external_name":"visibility","restriction":"::Cosmo::AST::Visibility"}],"args_string":"(visibility : Cosmo::AST::Visibility)","args_html":"(visibility : Cosmo::AST::Visibility)","location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":14,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L14"},"def":{"name":"visibility=","args":[{"name":"visibility","external_name":"visibility","restriction":"::Cosmo::AST::Visibility"}],"visibility":"Public","body":"@visibility = visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement","path":"Cosmo/AST/Statement.html","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement","abstract":false,"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"},"types":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","path":"Cosmo/AST/Statement/Base.html","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base","abstract":true,"superclass":{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":19,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L19"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/AST/Statement/Block","kind":"class","full_name":"Cosmo::AST::Statement::Block","name":"Block"},{"html_id":"Cosmo/Cosmo/AST/Statement/Break","kind":"class","full_name":"Cosmo::AST::Statement::Break","name":"Break"},{"html_id":"Cosmo/Cosmo/AST/Statement/Case","kind":"class","full_name":"Cosmo::AST::Statement::Case","name":"Case"},{"html_id":"Cosmo/Cosmo/AST/Statement/ClassDef","kind":"class","full_name":"Cosmo::AST::Statement::ClassDef","name":"ClassDef"},{"html_id":"Cosmo/Cosmo/AST/Statement/Every","kind":"class","full_name":"Cosmo::AST::Statement::Every","name":"Every"},{"html_id":"Cosmo/Cosmo/AST/Statement/FunctionDef","kind":"class","full_name":"Cosmo::AST::Statement::FunctionDef","name":"FunctionDef"},{"html_id":"Cosmo/Cosmo/AST/Statement/If","kind":"class","full_name":"Cosmo::AST::Statement::If","name":"If"},{"html_id":"Cosmo/Cosmo/AST/Statement/Next","kind":"class","full_name":"Cosmo::AST::Statement::Next","name":"Next"},{"html_id":"Cosmo/Cosmo/AST/Statement/Return","kind":"class","full_name":"Cosmo::AST::Statement::Return","name":"Return"},{"html_id":"Cosmo/Cosmo/AST/Statement/SingleExpression","kind":"class","full_name":"Cosmo::AST::Statement::SingleExpression","name":"SingleExpression"},{"html_id":"Cosmo/Cosmo/AST/Statement/Throw","kind":"class","full_name":"Cosmo::AST::Statement::Throw","name":"Throw"},{"html_id":"Cosmo/Cosmo/AST/Statement/Unless","kind":"class","full_name":"Cosmo::AST::Statement::Unless","name":"Unless"},{"html_id":"Cosmo/Cosmo/AST/Statement/Until","kind":"class","full_name":"Cosmo::AST::Statement::Until","name":"Until"},{"html_id":"Cosmo/Cosmo/AST/Statement/Use","kind":"class","full_name":"Cosmo::AST::Statement::Use","name":"Use"},{"html_id":"Cosmo/Cosmo/AST/Statement/While","kind":"class","full_name":"Cosmo::AST::Statement::While","name":"While"}],"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"instance_methods":[{"html_id":"accept(visitor:Visitor(R))forallR-instance-method","name":"accept","abstract":true,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) forall R","args_html":"(visitor : Visitor(R)) forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":20,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L20"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"visibility":"Public","body":""}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Block","path":"Cosmo/AST/Statement/Block.html","kind":"class","full_name":"Cosmo::AST::Statement::Block","name":"Block","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":383,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L383"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(nodes:Array(Cosmo::AST::Statement::Base)=[]ofNode)-class-method","name":"new","abstract":false,"args":[{"name":"nodes","default_value":"[] of Node","external_name":"nodes","restriction":"::Array(::Cosmo::AST::Statement::Base)"}],"args_string":"(nodes : Array(Cosmo::AST::Statement::Base) = [] of Node)","args_html":"(nodes : Array(Cosmo::AST::Statement::Base) = []ofNode)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":386,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L386"},"def":{"name":"new","args":[{"name":"nodes","default_value":"[] of Node","external_name":"nodes","restriction":"::Array(::Cosmo::AST::Statement::Base)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(nodes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](i:UInt):Node-instance-method","name":"[]","abstract":false,"args":[{"name":"i","external_name":"i","restriction":"UInt"}],"args_string":"(i : UInt) : Node","args_html":"(i : UInt) : Node","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":393,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L393"},"def":{"name":"[]","args":[{"name":"i","external_name":"i","restriction":"UInt"}],"return_type":"Node","visibility":"Public","body":"@nodes[i]"}},{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":427,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L427"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_block_stmt(self)"}},{"html_id":"empty?-instance-method","name":"empty?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":389,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L389"},"def":{"name":"empty?","visibility":"Public","body":"@nodes.empty?"}},{"html_id":"end_location:Location-instance-method","name":"end_location","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":409,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L409"},"def":{"name":"end_location","return_type":"Location","visibility":"Public","body":"@end_location || @nodes.last?.try(&.end_location)"}},{"html_id":"first:Node-instance-method","name":"first","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":397,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L397"},"def":{"name":"first","return_type":"Node","visibility":"Public","body":"@nodes.first"}},{"html_id":"last:Node-instance-method","name":"last","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":401,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L401"},"def":{"name":"last","return_type":"Node","visibility":"Public","body":"@nodes.last"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":405,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L405"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location || @nodes.first?.try(&.location)"}},{"html_id":"nodes:Array(Base)-instance-method","name":"nodes","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":384,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L384"},"def":{"name":"nodes","return_type":"Array(Base)","visibility":"Public","body":"@nodes"}},{"html_id":"single_expression?:Expression::Base|Nil-instance-method","name":"single_expression?","doc":"It yields first node if this holds only one node, or yields `nil`.","summary":"
It yields first node if this holds only one node, or yields nil.
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":414,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L414"},"def":{"name":"single_expression?","return_type":"Expression::Base | ::Nil","visibility":"Public","body":"if @nodes.size == 1\n expr = @nodes.first.single_expression\n if expr.is_a?(Statement::SingleExpression)\n expr.expression\n else\n expr.as(Expression::Base)\n end\nelse\n nil\nend"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":435,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L435"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"Block\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":431,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L431"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@nodes.empty? ? Token.new(\"none\", Syntax::None, nil, Location.new(\"\", 0, 0)) : @nodes.first.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Break","path":"Cosmo/AST/Statement/Break.html","kind":"class","full_name":"Cosmo::AST::Statement::Break","name":"Break","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":164,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L164"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(keyword : Cosmo::Token)","args_html":"(keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":167,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L167"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":170,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L170"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_break_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":165,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L165"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":178,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L178"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Break\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":174,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L174"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Case","path":"Cosmo/AST/Statement/Case.html","kind":"class","full_name":"Cosmo::AST::Statement::Case","name":"Case","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":73,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L73"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,value:Cosmo::AST::Expression::Base,comparisons:Array(Cosmo::AST::Statement::When),else:Cosmo::AST::Statement::Base|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"comparisons","external_name":"comparisons","restriction":"::Array(::Cosmo::AST::Statement::When)"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"args_string":"(keyword : Cosmo::Token, value : Cosmo::AST::Expression::Base, comparisons : Array(Cosmo::AST::Statement::When), else : Cosmo::AST::Statement::Base | Nil)","args_html":"(keyword : Cosmo::Token, value : Cosmo::AST::Expression::Base, comparisons : Array(Cosmo::AST::Statement::When), else : Cosmo::AST::Statement::Base | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":79,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L79"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"comparisons","external_name":"comparisons","restriction":"::Array(::Cosmo::AST::Statement::When)"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, value, comparisons, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":82,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L82"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_case_stmt(self)"}},{"html_id":"comparisons:Array(When)-instance-method","name":"comparisons","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":76,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L76"},"def":{"name":"comparisons","return_type":"Array(When)","visibility":"Public","body":"@comparisons"}},{"html_id":"else:Base|Nil-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":77,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L77"},"def":{"name":"else","return_type":"Base | ::Nil","visibility":"Public","body":"@else"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":74,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L74"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":26,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L26"},"def":{"name":"body","return_type":"Block","visibility":"Public","body":"@body"}},{"html_id":"identifier:Token-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":24,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L24"},"def":{"name":"identifier","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"mixins:Array(Expression::Base)-instance-method","name":"mixins","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":29,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L29"},"def":{"name":"mixins","return_type":"Array(Expression::Base)","visibility":"Public","body":"@mixins"}},{"html_id":"superclass:Expression::Base|Nil-instance-method","name":"superclass","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":28,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L28"},"def":{"name":"superclass","return_type":"Expression::Base | ::Nil","visibility":"Public","body":"@superclass"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":42,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L42"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"ClassDef<\\n\" + \" #{TAB * indent}identifier: #{@identifier.value.to_s},\\n\") + \" #{TAB * indent}body: #{@body.to_s(indent + 1)}\\n\") + \" #{TAB * indent}visibility: #{@visibility.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":38,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L38"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":27,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L27"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Every","path":"Cosmo/AST/Statement/Every.html","kind":"class","full_name":"Cosmo::AST::Statement::Every","name":"Every","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":183,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L183"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,var:Cosmo::AST::Expression::VarDeclaration,enumerable:Cosmo::AST::Expression::Base,block:Cosmo::AST::Statement::Base)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::VarDeclaration"},{"name":"enumerable","external_name":"enumerable","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"args_string":"(keyword : Cosmo::Token, var : Cosmo::AST::Expression::VarDeclaration, enumerable : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","args_html":"(keyword : Cosmo::Token, var : Cosmo::AST::Expression::VarDeclaration, enumerable : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":189,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L189"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::VarDeclaration"},{"name":"enumerable","external_name":"enumerable","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, var, enumerable, block)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":192,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L192"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_every_stmt(self)"}},{"html_id":"block:Base-instance-method","name":"block","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":187,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L187"},"def":{"name":"block","return_type":"Base","visibility":"Public","body":"@block"}},{"html_id":"enumerable:Expression::Base-instance-method","name":"enumerable","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":186,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L186"},"def":{"name":"enumerable","return_type":"Expression::Base","visibility":"Public","body":"@enumerable"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":184,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L184"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":200,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L200"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Every<\\n\" + \" #{TAB * indent}var: #{@var.to_s(indent + 1)},\\n\") + \" #{TAB * indent}in: #{@enumerable.to_s(indent + 1)}\\n\") + \" #{TAB * indent}do: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":196,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L196"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"var:Expression::VarDeclaration-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":185,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L185"},"def":{"name":"var","return_type":"Expression::VarDeclaration","visibility":"Public","body":"@var"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/FunctionDef","path":"Cosmo/AST/Statement/FunctionDef.html","kind":"class","full_name":"Cosmo::AST::Statement::FunctionDef","name":"FunctionDef","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":331,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L331"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(identifier:Cosmo::Token,parameters:Array(Cosmo::AST::Expression::Parameter),body:Cosmo::AST::Statement::Block,return_typedef:Cosmo::Token,visibility)-class-method","name":"new","abstract":false,"args":[{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"parameters","external_name":"parameters","restriction":"::Array(::Cosmo::AST::Expression::Parameter)"},{"name":"body","external_name":"body","restriction":"::Cosmo::AST::Statement::Block"},{"name":"return_typedef","external_name":"return_typedef","restriction":"::Cosmo::Token"},{"name":"visibility","external_name":"visibility","restriction":""}],"args_string":"(identifier : Cosmo::Token, parameters : Array(Cosmo::AST::Expression::Parameter), body : Cosmo::AST::Statement::Block, return_typedef : Cosmo::Token, visibility)","args_html":"(identifier : Cosmo::Token, parameters : Array(Cosmo::AST::Expression::Parameter), body : Cosmo::AST::Statement::Block, return_typedef : Cosmo::Token, visibility)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":338,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L338"},"def":{"name":"new","args":[{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"parameters","external_name":"parameters","restriction":"::Array(::Cosmo::AST::Expression::Parameter)"},{"name":"body","external_name":"body","restriction":"::Cosmo::AST::Statement::Block"},{"name":"return_typedef","external_name":"return_typedef","restriction":"::Cosmo::Token"},{"name":"visibility","external_name":"visibility","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(identifier, parameters, body, return_typedef, visibility)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":341,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L341"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_fn_def_stmt(self)"}},{"html_id":"body:Block-instance-method","name":"body","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":334,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L334"},"def":{"name":"body","return_type":"Block","visibility":"Public","body":"@body"}},{"html_id":"identifier:Token-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":332,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L332"},"def":{"name":"identifier","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"parameters:Array(Expression::Parameter)-instance-method","name":"parameters","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":333,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L333"},"def":{"name":"parameters","return_type":"Array(Expression::Parameter)","visibility":"Public","body":"@parameters"}},{"html_id":"return_typedef:Token-instance-method","name":"return_typedef","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":335,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L335"},"def":{"name":"return_typedef","return_type":"Token","visibility":"Public","body":"@return_typedef"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":349,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L349"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((((((\"FunctionDef<\\n\" + \" #{TAB * indent}identifier: #{@identifier.value.to_s},\\n\") + \" #{TAB * indent}parameters: [\\n\") + \" #{TAB * indent}#{@parameters.map() do |__arg2|\n (__arg2.to_s(indent + 2)).as(String)\nend.join(\",\\n#{TAB * (indent + 2)}\")}\\n\") + \" #{TAB * indent}],\\n\") + \" #{TAB * indent}return_typedef: #{@return_typedef.value},\\n\") + \" #{TAB * indent}body: #{@body.to_s(indent + 1)}\\n\") + \" #{TAB * indent}visibility: #{@visibility.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":345,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L345"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":336,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L336"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/If","path":"Cosmo/AST/Statement/If.html","kind":"class","full_name":"Cosmo::AST::Statement::If","name":"If","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":257,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L257"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,then:Cosmo::AST::Statement::Base,else:Cosmo::AST::Statement::Base|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":263,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L263"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, then, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":266,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L266"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_if_stmt(self)"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":259,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L259"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"else:Base|Nil-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":261,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L261"},"def":{"name":"else","return_type":"Base | ::Nil","visibility":"Public","body":"@else"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":258,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L258"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"then:Base-instance-method","name":"then","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":260,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L260"},"def":{"name":"then","return_type":"Base","visibility":"Public","body":"@then"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":274,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L274"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"If<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}then: #{@then.to_s(indent + 1)},\\n\") + \" #{TAB * indent}else: #{@else.nil? ? \"none\" : @else.not_nil!.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":270,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L270"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Next","path":"Cosmo/AST/Statement/Next.html","kind":"class","full_name":"Cosmo::AST::Statement::Next","name":"Next","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":145,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L145"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(keyword : Cosmo::Token)","args_html":"(keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":148,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L148"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":151,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L151"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_next_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":146,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L146"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":159,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L159"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Next\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":155,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L155"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Return","path":"Cosmo/AST/Statement/Return.html","kind":"class","full_name":"Cosmo::AST::Statement::Return","name":"Return","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":309,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L309"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(value:Cosmo::AST::Expression::Base,keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(value : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","args_html":"(value : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":313,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L313"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":316,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L316"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_return_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":311,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L311"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":324,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L324"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"Return<\\n\" + \" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":320,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L320"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"value:Expression::Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":310,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L310"},"def":{"name":"value","return_type":"Expression::Base","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/SingleExpression","path":"Cosmo/AST/Statement/SingleExpression.html","kind":"class","full_name":"Cosmo::AST::Statement::SingleExpression","name":"SingleExpression","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":362,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L362"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(expression:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"expression","external_name":"expression","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(expression : Cosmo::AST::Expression::Base)","args_html":"(expression : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":365,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L365"},"def":{"name":"new","args":[{"name":"expression","external_name":"expression","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expression)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":368,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L368"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_single_expr_stmt(self)"}},{"html_id":"expression:Expression::Base-instance-method","name":"expression","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":363,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L363"},"def":{"name":"expression","return_type":"Expression::Base","visibility":"Public","body":"@expression"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":376,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L376"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"SingleExpression<\\n\" + \" #{TAB * indent}expression: #{@expression.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":372,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L372"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@expression.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Throw","path":"Cosmo/AST/Statement/Throw.html","kind":"class","full_name":"Cosmo::AST::Statement::Throw","name":"Throw","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":123,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L123"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(err:Cosmo::AST::Expression::Base,keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"err","external_name":"err","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(err : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","args_html":"(err : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":127,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L127"},"def":{"name":"new","args":[{"name":"err","external_name":"err","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(err, keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":130,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L130"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_throw_stmt(self)"}},{"html_id":"err:Expression::Base-instance-method","name":"err","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":124,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L124"},"def":{"name":"err","return_type":"Expression::Base","visibility":"Public","body":"@err"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":125,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L125"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":138,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L138"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"Throw<\\n\" + \" #{TAB * indent}err: #{@err.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":134,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L134"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Unless","path":"Cosmo/AST/Statement/Unless.html","kind":"class","full_name":"Cosmo::AST::Statement::Unless","name":"Unless","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":283,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L283"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,then:Cosmo::AST::Statement::Base,else:Cosmo::AST::Statement::Base|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":289,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L289"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, then, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":292,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L292"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_unless_stmt(self)"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":285,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L285"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"else:Base|Nil-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":287,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L287"},"def":{"name":"else","return_type":"Base | ::Nil","visibility":"Public","body":"@else"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":284,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L284"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"then:Base-instance-method","name":"then","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":286,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L286"},"def":{"name":"then","return_type":"Base","visibility":"Public","body":"@then"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":300,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L300"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Unless<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}then: #{@then.to_s(indent + 1)},\\n\") + \" #{TAB * indent}else: #{@else.nil? ? \"none\" : @else.not_nil!.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":296,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L296"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Until","path":"Cosmo/AST/Statement/Until.html","kind":"class","full_name":"Cosmo::AST::Statement::Until","name":"Until","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":233,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L233"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,block:Cosmo::AST::Statement::Base)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":238,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L238"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, block)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":241,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L241"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_until_stmt(self)"}},{"html_id":"block:Base-instance-method","name":"block","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":236,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L236"},"def":{"name":"block","return_type":"Base","visibility":"Public","body":"@block"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":235,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L235"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":234,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L234"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":249,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L249"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Until<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}do: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":245,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L245"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Use","path":"Cosmo/AST/Statement/Use.html","kind":"class","full_name":"Cosmo::AST::Statement::Use","name":"Use","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":101,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L101"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(module_path:Cosmo::Token,keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"module_path","external_name":"module_path","restriction":"::Cosmo::Token"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(module_path : Cosmo::Token, keyword : Cosmo::Token)","args_html":"(module_path : Cosmo::Token, keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":105,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L105"},"def":{"name":"new","args":[{"name":"module_path","external_name":"module_path","restriction":"::Cosmo::Token"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(module_path, keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":108,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L108"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_use_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":103,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L103"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"module_path:Token-instance-method","name":"module_path","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":102,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L102"},"def":{"name":"module_path","return_type":"Token","visibility":"Public","body":"@module_path"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":63,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L63"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((((\"When<\\n\" + \" #{TAB * indent}conditions: [\\n\") + \" #{TAB * indent}#{@conditions.map() do |__arg0|\n (__arg0.to_s(indent + 2)).as(String)\nend.join(\",\\n#{TAB * (indent + 2)}\")}\\n\") + \" #{TAB * indent}],\\n\") + \" #{TAB * indent}block: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":59,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L59"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/While","path":"Cosmo/AST/Statement/While.html","kind":"class","full_name":"Cosmo::AST::Statement::While","name":"While","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":209,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L209"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,block:Cosmo::AST::Statement::Base)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":214,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L214"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, block)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":217,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L217"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_while_stmt(self)"}},{"html_id":"block:Base-instance-method","name":"block","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":212,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L212"},"def":{"name":"block","return_type":"Base","visibility":"Public","body":"@block"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":211,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L211"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":210,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L210"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":225,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L225"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"While<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}do: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":221,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L221"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]}]},{"html_id":"Cosmo/Cosmo/AST/Visibility","path":"Cosmo/AST/Visibility.html","kind":"enum","full_name":"Cosmo::AST::Visibility","name":"Visibility","abstract":false,"ancestors":[{"html_id":"Cosmo/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"Cosmo/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"Cosmo/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L4"}],"repository_name":"Cosmo","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Public","name":"Public","value":"0"},{"id":"Protected","name":"Protected","value":"1"},{"id":"Private","name":"Private","value":"2"},{"id":"Static","name":"Static","value":"3"}],"namespace":{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"},"instance_methods":[{"html_id":"private?-instance-method","name":"private?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":7,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L7"},"def":{"name":"private?","visibility":"Public","body":"self == Private"}},{"html_id":"protected?-instance-method","name":"protected?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L6"},"def":{"name":"protected?","visibility":"Public","body":"self == Protected"}},{"html_id":"public?-instance-method","name":"public?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":5,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L5"},"def":{"name":"public?","visibility":"Public","body":"self == Public"}},{"html_id":"static?-instance-method","name":"static?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":8,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L8"},"def":{"name":"static?","visibility":"Public","body":"self == Static"}}]}]},{"html_id":"Cosmo/Cosmo/Callable","path":"Cosmo/Callable.html","kind":"class","full_name":"Cosmo::Callable","name":"Callable","abstract":true,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/function.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/Function","kind":"class","full_name":"Cosmo::Function","name":"Function"},{"html_id":"Cosmo/Cosmo/IntrinsicFunction","kind":"class","full_name":"Cosmo::IntrinsicFunction","name":"IntrinsicFunction"}],"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"instance_methods":[{"html_id":"arity:Range(UInt32,UInt32)-instance-method","name":"arity","abstract":true,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L3"},"def":{"name":"arity","return_type":"Range(UInt32, UInt32)","visibility":"Public","body":""}},{"html_id":"call(args:Array(ValueType)):ValueType-instance-method","name":"call","abstract":true,"args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"args_string":"(args : Array(ValueType)) : ValueType","args_html":"(args : Array(ValueType)) : ValueType","location":{"filename":"src/cosmo/runtime/function.cr","line_number":2,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L2"},"def":{"name":"call","args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"return_type":"ValueType","visibility":"Public","body":""}},{"html_id":"intrinsic?:Bool-instance-method","name":"intrinsic?","abstract":true,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L4"},"def":{"name":"intrinsic?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"to_s:String-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":true,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":5,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L5"},"def":{"name":"to_s","return_type":"String","visibility":"Public","body":""}}]},{"html_id":"Cosmo/Cosmo/Class","path":"Cosmo/Class.html","kind":"class","full_name":"Cosmo::Class","name":"Class","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/class.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/class.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(interpreter:Cosmo::Interpreter,closure:Cosmo::Scope,definition:Cosmo::AST::Statement::ClassDef)-class-method","name":"new","abstract":false,"args":[{"name":"interpreter","external_name":"interpreter","restriction":"::Cosmo::Interpreter"},{"name":"closure","external_name":"closure","restriction":"::Cosmo::Scope"},{"name":"definition","external_name":"definition","restriction":"::Cosmo::AST::Statement::ClassDef"}],"args_string":"(interpreter : Cosmo::Interpreter, closure : Cosmo::Scope, definition : Cosmo::AST::Statement::ClassDef)","args_html":"(interpreter : Cosmo::Interpreter, closure : Cosmo::Scope, definition : Cosmo::AST::Statement::ClassDef)","location":{"filename":"src/cosmo/runtime/class.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/class.cr#L6"},"def":{"name":"new","args":[{"name":"interpreter","external_name":"interpreter","restriction":"::Cosmo::Interpreter"},{"name":"closure","external_name":"closure","restriction":"::Cosmo::Scope"},{"name":"definition","external_name":"definition","restriction":"::Cosmo::AST::Statement::ClassDef"}],"visibility":"Public","body":"_ = allocate\n_.initialize(interpreter, closure, definition)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"definition:AST::Statement::ClassDef-instance-method","name":"definition","abstract":false,"location":{"filename":"src/cosmo/runtime/class.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/class.cr#L4"},"def":{"name":"definition","return_type":"AST::Statement::ClassDef","visibility":"Public","body":"@definition"}},{"html_id":"to_s:String-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"location":{"filename":"src/cosmo/runtime/class.cr","line_number":10,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/class.cr#L10"},"def":{"name":"to_s","return_type":"String","visibility":"Public","body":"\"\""}}]},{"html_id":"Cosmo/Cosmo/Function","path":"Cosmo/Function.html","kind":"class","full_name":"Cosmo::Function","name":"Function","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/Callable","kind":"class","full_name":"Cosmo::Callable","name":"Callable"},"ancestors":[{"html_id":"Cosmo/Cosmo/Callable","kind":"class","full_name":"Cosmo::Callable","name":"Callable"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/function.cr","line_number":8,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L8"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(interpreter:Cosmo::Interpreter,closure:Cosmo::Scope,definition:Cosmo::AST::Statement::FunctionDef)-class-method","name":"new","abstract":false,"args":[{"name":"interpreter","external_name":"interpreter","restriction":"::Cosmo::Interpreter"},{"name":"closure","external_name":"closure","restriction":"::Cosmo::Scope"},{"name":"definition","external_name":"definition","restriction":"::Cosmo::AST::Statement::FunctionDef"}],"args_string":"(interpreter : Cosmo::Interpreter, closure : Cosmo::Scope, definition : Cosmo::AST::Statement::FunctionDef)","args_html":"(interpreter : Cosmo::Interpreter, closure : Cosmo::Scope, definition : Cosmo::AST::Statement::FunctionDef)","location":{"filename":"src/cosmo/runtime/function.cr","line_number":14,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L14"},"def":{"name":"new","args":[{"name":"interpreter","external_name":"interpreter","restriction":"::Cosmo::Interpreter"},{"name":"closure","external_name":"closure","restriction":"::Cosmo::Scope"},{"name":"definition","external_name":"definition","restriction":"::Cosmo::AST::Statement::FunctionDef"}],"visibility":"Public","body":"_ = allocate\n_.initialize(interpreter, closure, definition)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"arity:Range(UInt32,UInt32)-instance-method","name":"arity","abstract":false,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":42,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L42"},"def":{"name":"arity","return_type":"Range(UInt32, UInt32)","visibility":"Public","body":"@non_nullable_params.size.to_u..@definition.parameters.size.to_u"}},{"html_id":"call(args:Array(ValueType)):ValueType-instance-method","name":"call","abstract":false,"args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"args_string":"(args : Array(ValueType)) : ValueType","args_html":"(args : Array(ValueType)) : ValueType","location":{"filename":"src/cosmo/runtime/function.cr","line_number":23,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L23"},"def":{"name":"call","args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"return_type":"ValueType","visibility":"Public","body":"@interpreter.set_meta(\"block_return_type\", @definition.return_typedef.value.to_s)\nscope = Scope.new(@closure)\n@definition.parameters.each_with_index do |param, i|\n value = (args[i] || (param.default_value.nil? ? nil : @interpreter.evaluate(param.default_value.not_nil!))).as(ValueType)\n scope.declare(param.typedef, param.identifier, value, const: param.const?)\nend\nresult = nil\nbegin\n result = @interpreter.execute_block(@definition.body, scope, is_fn: true)\nrescue returner : HookedExceptions::Return\n result = returner.value\nend\nresult\n"}},{"html_id":"definition:AST::Statement::FunctionDef-instance-method","name":"definition","abstract":false,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":12,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L12"},"def":{"name":"definition","return_type":"AST::Statement::FunctionDef","visibility":"Public","body":"@definition"}},{"html_id":"intrinsic?:Bool-instance-method","name":"intrinsic?","abstract":false,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":46,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L46"},"def":{"name":"intrinsic?","return_type":"Bool","visibility":"Public","body":"false"}},{"html_id":"to_s:String-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
"}],"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"class_methods":[{"html_id":"class_visibility?(s:String)-class-method","name":"class_visibility?","doc":"Returns whether or not `s` is a class vibility keyword","summary":"
Returns whether or not s is a class vibility keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String)","args_html":"(s : String)","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":36,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/keywords.cr#L36"},"def":{"name":"class_visibility?","args":[{"name":"s","external_name":"s","restriction":"String"}],"visibility":"Public","body":"CLASS_VISIBILITY_KEYWORDS.includes?(s)"}},{"html_id":"get_syntax(s:String):Syntax-class-method","name":"get_syntax","doc":"Returns the syntax type of `s` if it is a regular keyword","summary":"
Returns the syntax type of s if it is a regular keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String) : Syntax","args_html":"(s : String) : Syntax","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":51,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/keywords.cr#L51"},"def":{"name":"get_syntax","args":[{"name":"s","external_name":"s","restriction":"String"}],"return_type":"Syntax","visibility":"Public","body":"KEYWORDS.fetch(s) do\n raise(\"Invalid keyword #{s}\")\nend"}},{"html_id":"keyword?(s:String)-class-method","name":"keyword?","doc":"Returns whether or not `s` is a regular keyword","summary":"
Returns whether or not s is a regular keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String)","args_html":"(s : String)","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":46,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/keywords.cr#L46"},"def":{"name":"keyword?","args":[{"name":"s","external_name":"s","restriction":"String"}],"visibility":"Public","body":"KEYWORDS.has_key?(s)"}},{"html_id":"type?(s:String)-class-method","name":"type?","doc":"Returns whether or not `s` is a type keyword","summary":"
Returns whether or not s is a type keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String)","args_html":"(s : String)","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":41,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/keywords.cr#L41"},"def":{"name":"type?","args":[{"name":"s","external_name":"s","restriction":"String"}],"visibility":"Public","body":"TYPE_KEYWORDS.includes?(s)"}}]},{"html_id":"Cosmo/Cosmo/Lexer","path":"Cosmo/Lexer.html","kind":"class","full_name":"Cosmo::Lexer","name":"Lexer","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/lexer.cr","line_number":9,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer.cr#L9"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(source:String,file_path:String,run_benchmarks:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"String"},{"name":"file_path","external_name":"file_path","restriction":"String"},{"name":"run_benchmarks","external_name":"run_benchmarks","restriction":"Bool"}],"args_string":"(source : String, file_path : String, run_benchmarks : Bool)","args_html":"(source : String, file_path : String, run_benchmarks : Bool)","location":{"filename":"src/cosmo/syntax/lexer.cr","line_number":17,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer.cr#L17"},"def":{"name":"new","args":[{"name":"source","external_name":"source","restriction":"String"},{"name":"file_path","external_name":"file_path","restriction":"String"},{"name":"run_benchmarks","external_name":"run_benchmarks","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(source, file_path, run_benchmarks)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"tokenize:Array(Token)-instance-method","name":"tokenize","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer.cr","line_number":20,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer.cr#L20"},"def":{"name":"tokenize","return_type":"Array(Token)","visibility":"Public","body":"start_time = Time.monotonic\nwhile !finished?\n lex\nend\nadd_token(Syntax::EOF, nil)\nend_time = Time.monotonic\nif @run_benchmarks\n puts(\"Lexer @#{@file_path} took #{get_elapsed(start_time, end_time)}.\")\nend\n@tokens\n"}}]},{"html_id":"Cosmo/Cosmo/Location","path":"Cosmo/Location.html","kind":"class","full_name":"Cosmo::Location","name":"Location","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/location.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(file_name:String,line:UInt32,position:UInt32)-class-method","name":"new","abstract":false,"args":[{"name":"file_name","external_name":"file_name","restriction":"::String"},{"name":"line","external_name":"line","restriction":"::UInt32"},{"name":"position","external_name":"position","restriction":"::UInt32"}],"args_string":"(file_name : String, line : UInt32, position : UInt32)","args_html":"(file_name : String, line : UInt32, position : UInt32)","location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/location.cr#L6"},"def":{"name":"new","args":[{"name":"file_name","external_name":"file_name","restriction":"::String"},{"name":"line","external_name":"line","restriction":"::UInt32"},{"name":"position","external_name":"position","restriction":"::UInt32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(file_name, line, position)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"between?(min:UInt32,max:UInt32)-instance-method","name":"between?","abstract":false,"args":[{"name":"min","external_name":"min","restriction":"UInt32"},{"name":"max","external_name":"max","restriction":"UInt32"}],"args_string":"(min : UInt32, max : UInt32)","args_html":"(min : UInt32, max : UInt32)","location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":9,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/location.cr#L9"},"def":{"name":"between?","args":[{"name":"min","external_name":"min","restriction":"UInt32"},{"name":"max","external_name":"max","restriction":"UInt32"}],"visibility":"Public","body":"if min && max\nelse\n return false\nend\nmin <= self && self <= max\n"}},{"html_id":"directory-instance-method","name":"directory","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":14,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/location.cr#L14"},"def":{"name":"directory","visibility":"Public","body":"@file_name.try do |file_name|\n File.dirname(file_name)\nend"}},{"html_id":"file_name:String-instance-method","name":"file_name","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/location.cr#L4"},"def":{"name":"file_name","return_type":"String","visibility":"Public","body":"@file_name"}},{"html_id":"line:UInt32-instance-method","name":"line","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":2,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/location.cr#L2"},"def":{"name":"line","return_type":"UInt32","visibility":"Public","body":"@line"}},{"html_id":"position:UInt32-instance-method","name":"position","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/location.cr#L3"},"def":{"name":"position","return_type":"UInt32","visibility":"Public","body":"@position"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns true if the variable exists and is public, otherwise false
","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"Token"}],"args_string":"(token : Token) : Bool","args_html":"(token : Token) : Bool","location":{"filename":"src/cosmo/runtime/scope.cr","line_number":71,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/scope.cr#L71"},"def":{"name":"public?","args":[{"name":"token","external_name":"token","restriction":"Token"}],"return_type":"Bool","visibility":"Public","body":"ident = token.lexeme\nif @variables.has_key?(ident)\nelse\n return false\nend\n@variables[ident][:visibility] == Visibility::Public\n"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/token.cr","line_number":30,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/token.cr#L30"},"def":{"name":"to_s","visibility":"Public","body":"\"Token\""}},{"html_id":"type:Syntax-instance-method","name":"type","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/token.cr","line_number":5,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/token.cr#L5"},"def":{"name":"type","return_type":"Syntax","visibility":"Public","body":"@type"}},{"html_id":"value:LiteralType-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/token.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/token.cr#L6"},"def":{"name":"value","return_type":"LiteralType","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/Type","path":"Cosmo/Type.html","kind":"class","full_name":"Cosmo::Type","name":"Type","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/type.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/type.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(name:String)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cosmo/runtime/type.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/type.cr#L4"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cosmo/runtime/type.cr","line_number":2,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/type.cr#L2"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"location":{"filename":"src/cosmo/runtime/type.cr","line_number":7,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/type.cr#L7"},"def":{"name":"to_s","visibility":"Public","body":"\"Type<#{name}>\""}}]},{"html_id":"Cosmo/Cosmo/TypeChecker","path":"Cosmo/TypeChecker.html","kind":"module","full_name":"Cosmo::TypeChecker","name":"TypeChecker","abstract":false,"locations":[{"filename":"src/cosmo/runtime/typechecker.cr","line_number":11,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L11"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ALIASES","name":"ALIASES","value":"{} of String => String"},{"id":"REGISTERED","name":"REGISTERED","value":"[] of Type"},{"id":"TYPE_MAP","name":"TYPE_MAP","value":"{Int128 => \"bigint\", Int64 => \"int\", Int32 => \"int\", Int16 => \"int\", Int8 => \"int\", Float64 => \"float\", Float32 => \"float\", String => \"string\", Char => \"char\", Bool => \"bool\", Nil => \"none\", Class => \"class\", Function => \"func\", PutsIntrinsic => \"func\", Array(Int64) => \"int[]\", Array(Int32) => \"int[]\", Array(Int16) => \"int[]\", Array(Int8) => \"int[]\", Array(Float64) => \"float[]\", Array(Float32) => \"float[]\", Array(String) => \"string[]\", Array(Char) => \"char[]\", Array(Bool) => \"bool[]\", Array(Function) => \"fn[]\", Array(ValueType) => \"any[]\", Array => \"any[]\", Hash => \"Table\", Range(Int128 | Int16 | Int32 | Int64 | Int8, Int128 | Int16 | Int32 | Int64 | Int8) => \"Range\"}"}],"extended_modules":[{"html_id":"Cosmo/Cosmo/TypeChecker","kind":"module","full_name":"Cosmo::TypeChecker","name":"TypeChecker"}],"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"instance_methods":[{"html_id":"alias_type(alias_name:String,original:String):Type-instance-method","name":"alias_type","abstract":false,"args":[{"name":"alias_name","external_name":"alias_name","restriction":"String"},{"name":"original","external_name":"original","restriction":"String"}],"args_string":"(alias_name : String, original : String) : Type","args_html":"(alias_name : String, original : String) : Type","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":102,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L102"},"def":{"name":"alias_type","args":[{"name":"alias_name","external_name":"alias_name","restriction":"String"},{"name":"original","external_name":"original","restriction":"String"}],"return_type":"Type","visibility":"Public","body":"ALIASES[alias_name] = original\nregister_type(alias_name)\n"}},{"html_id":"assert(typedef:String,value:ValueType,token:Token):Nil-instance-method","name":"assert","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"value","external_name":"value","restriction":"ValueType"},{"name":"token","external_name":"token","restriction":"Token"}],"args_string":"(typedef : String, value : ValueType, token : Token) : Nil","args_html":"(typedef : String, value : ValueType, token : Token) : Nil","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":215,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L215"},"def":{"name":"assert","args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"value","external_name":"value","restriction":"ValueType"},{"name":"token","external_name":"token","restriction":"Token"}],"return_type":"Nil","visibility":"Public","body":"matches = is?(typedef, value, token)\nif typedef.ends_with?(\"[]\")\n value_type = typedef[0..-3]\n if value.is_a?(Array)\n else\n report_mismatch(typedef, value, token)\n end\n (value.as(Array)).each do |v|\n assert(value_type, v, token)\n end\nelse\n if (typedef.includes?(\"->\")) && ((typedef.split(\"->\", 2)).size == 2)\n types = typedef.split(\"->\", 2)\n key_type = types.first.strip\n value_type = types.last.strip\n if value.is_a?(Hash)\n else\n report_mismatch(typedef, value, token)\n end\n internal = cast_hash(value)\n internal.each do |k, v|\n assert(key_type, k, token)\n assert(value_type, v, token)\n end\n else\n if typedef.starts_with?(\"(\")\n ungrouped_type = typedef[1..-2]\n assert(ungrouped_type, value, token)\n else\n if matches\n else\n report_mismatch(typedef, value, token)\n end\n end\n end\nend\n"}},{"html_id":"cast(value:T):ValueTypeforallT-instance-method","name":"cast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"T"}],"args_string":"(value : T) : ValueType forall T","args_html":"(value : T) : ValueType forall T","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":84,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L84"},"def":{"name":"cast","args":[{"name":"value","external_name":"value","restriction":"T"}],"return_type":"ValueType","visibility":"Public","body":"value.is_a?(Array) ? cast_array(value) : value.is_a?(Hash) ? cast_hash(value) : value.is_a?(Int128) && value <= Int64::MAX ? value.to_i64 : value.as(ValueType)"}},{"html_id":"cast_array(arr:Array(T)):Array(ValueType)forallT-instance-method","name":"cast_array","abstract":false,"args":[{"name":"arr","external_name":"arr","restriction":"Array(T)"}],"args_string":"(arr : Array(T)) : Array(ValueType) forall T","args_html":"(arr : Array(T)) : Array(ValueType) forall T","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":74,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L74"},"def":{"name":"cast_array","args":[{"name":"arr","external_name":"arr","restriction":"Array(T)"}],"return_type":"Array(ValueType)","visibility":"Public","body":"arr.map do |e|\n cast(e)\nend"}},{"html_id":"cast_hash(hash:Hash(K,V)):Hash(ValueType,ValueType)forallK,V-instance-method","name":"cast_hash","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash(K, V)"}],"args_string":"(hash : Hash(K, V)) : Hash(ValueType, ValueType) forall K, V","args_html":"(hash : Hash(K, V)) : Hash(ValueType, ValueType) forall K, V","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":78,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L78"},"def":{"name":"cast_hash","args":[{"name":"hash","external_name":"hash","restriction":"Hash(K, V)"}],"return_type":"Hash(ValueType, ValueType)","visibility":"Public","body":"res = {} of ValueType => ValueType\nhash.each do |k, v|\n res[cast(k)] = cast(v)\nend\nres\n"}},{"html_id":"get_mapped(t:CrystalClass):String-instance-method","name":"get_mapped","abstract":false,"args":[{"name":"t","external_name":"t","restriction":"CrystalClass"}],"args_string":"(t : CrystalClass) : String","args_html":"(t : CrystalClass) : String","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":53,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L53"},"def":{"name":"get_mapped","args":[{"name":"t","external_name":"t","restriction":"CrystalClass"}],"return_type":"String","visibility":"Public","body":"if TYPE_MAP.has_key?(t)\nelse\n raise(\"Unhandled type to map: #{t}\")\nend\nTYPE_MAP[t]\n"}},{"html_id":"get_registered_type(name:String,token:Token):Type|Nil-instance-method","name":"get_registered_type","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"token","external_name":"token","restriction":"Token"}],"args_string":"(name : String, token : Token) : Type | Nil","args_html":"(name : String, token : Token) : Type | Nil","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":131,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L131"},"def":{"name":"get_registered_type","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"token","external_name":"token","restriction":"Token"}],"return_type":"Type | ::Nil","visibility":"Public","body":"type = get_registered_type?(name, token)\nif type.nil?\n Logger.report_error(\"Could not resolve type\", \"'#{name}'\", token)\nend\ntype\n"}},{"html_id":"get_registered_type?(typedef:String,token:Token):Type|Nil-instance-method","name":"get_registered_type?","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"token","external_name":"token","restriction":"Token"}],"args_string":"(typedef : String, token : Token) : Type | Nil","args_html":"(typedef : String, token : Token) : Type | Nil","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":107,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L107"},"def":{"name":"get_registered_type?","args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"token","external_name":"token","restriction":"Token"}],"return_type":"Type | ::Nil","visibility":"Public","body":"if typedef.ends_with?(\"[]\")\n value_type = typedef[0..-3]\n if get_registered_type?(value_type, token).nil?\n else\n Type.new(typedef)\n end\nelse\n if (typedef.includes?(\"->\")) && ((typedef.split(\"->\", 2)).size == 2)\n types = typedef.split(\"->\", 2)\n key_type = types.first\n value_type = types.last\n if get_registered_type?(key_type, token).nil? && get_registered_type?(value_type, token).nil?\n else\n Type.new(typedef)\n end\n else\n if typedef.includes?(\"|\")\n types = typedef.split(\"|\")\n resolved = true\n types.each do |t|\n if get_registered_type?(t, token).nil?\n resolved = false\n break\n end\n end\n if resolved\n Type.new(typedef)\n end\n else\n REGISTERED.find do |t|\n t.name == typedef\n end\n end\n end\nend"}},{"html_id":"is?(typedef:String,value,token:Token):Bool-instance-method","name":"is?","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"value","external_name":"value","restriction":""},{"name":"token","external_name":"token","restriction":"Token"}],"args_string":"(typedef : String, value, token : Token) : Bool","args_html":"(typedef : String, value, token : Token) : Bool","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":137,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L137"},"def":{"name":"is?","args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"value","external_name":"value","restriction":""},{"name":"token","external_name":"token","restriction":"Token"}],"return_type":"Bool","visibility":"Public","body":"case typedef\nwhen \"Range\"\n value.is_a?(Range)\nwhen \"class\"\n value.is_a?(Class)\nwhen \"type\"\n value.is_a?(Type)\nwhen \"func\"\n value.is_a?(Function) || value.is_a?(IntrinsicFunction)\nwhen \"bigint\"\n value.is_a?(Int)\nwhen \"int\"\n value.is_a?(Int64 | Int32 | Int16 | Int8)\nwhen \"float\"\n value.is_a?(Float)\nwhen \"bool\"\n value.is_a?(Bool)\nwhen \"string\"\n value.is_a?(String)\nwhen \"char\"\n value.is_a?(Char)\nwhen \"none\", \"void\"\n value == nil\nwhen \"any\"\n true\nelse\n matches = false\n if typedef.starts_with?(\"(\")\n ungrouped_type = typedef[1..-2]\n matches = is?(ungrouped_type, value, token)\n else\n if typedef.ends_with?(\"[]\")\n value_type = typedef[0..-3]\n matches = value.is_a?(Array)\n if value.is_a?(Array)\n (value.as(Array)).each do |v|\n matches && (matches = is?(value_type, v, token))\n end\n end\n else\n if typedef.includes?(\"|\")\n types = typedef.split(\"|\")\n types.each do |type|\n if is?(type.strip, value, token)\n matches = true\n end\n end\n else\n if (typedef.includes?(\"->\")) && ((typedef.split(\"->\", 2)).size == 2)\n types = typedef.split(\"->\", 2)\n key_type = types.first.strip\n value_type = types.last.strip\n matches = value.is_a?(Hash)\n if value.is_a?(Hash)\n (value.as(Hash)).each do |k, v|\n matches && (matches = is?(key_type, k, token))\n matches && (matches = is?(value_type, v, token))\n end\n end\n else\n if typedef.ends_with?(\"?\")\n non_nullable_type = typedef[0..-2]\n matches = is?(non_nullable_type + \"|void\", value, token)\n else\n if matches\n else\n registered = get_registered_type?(typedef, token)\n if registered.nil?\n matches = false\n else\n if ALIASES.has_key?(registered.name)\n unaliased = ALIASES[registered.name]\n matches = is?(unaliased, value, token)\n else\n matches = false\n end\n end\n end\n end\n end\n end\n end\n end\n matches\nend"}},{"html_id":"register_intrinsics-instance-method","name":"register_intrinsics","abstract":false,"location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":60,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L60"},"def":{"name":"register_intrinsics","visibility":"Public","body":"register_type(\"Range\")\nregister_type(\"type\")\nregister_type(\"class\")\nregister_type(\"func\")\nregister_type(\"bigint\")\nregister_type(\"int\")\nregister_type(\"float\")\nregister_type(\"bool\")\nregister_type(\"string\")\nregister_type(\"char\")\nregister_type(\"void\")\n"}},{"html_id":"register_type(name:String):Type-instance-method","name":"register_type","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : Type","args_html":"(name : String) : Type","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":96,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L96"},"def":{"name":"register_type","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"Type","visibility":"Public","body":"type = Type.new(name)\nREGISTERED << type\ntype\n"}},{"html_id":"reset-instance-method","name":"reset","abstract":false,"location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":90,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L90"},"def":{"name":"reset","visibility":"Public","body":"ALIASES.clear\nREGISTERED.clear\nregister_intrinsics\n"}}]},{"html_id":"Cosmo/Cosmo/ValueType","path":"Cosmo/ValueType.html","kind":"alias","full_name":"Cosmo::ValueType","name":"ValueType","abstract":false,"locations":[{"filename":"src/cosmo/runtime/typechecker.cr","line_number":8,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L8"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":true,"aliased":"(Array(Cosmo::ValueType) | Bool | Char | Cosmo::Callable | Cosmo::Class | Cosmo::Type | Float32 | Float64 | Hash(Cosmo::ValueType, Cosmo::ValueType) | Int128 | Int16 | Int32 | Int64 | Int8 | Range(Int128 | Int16 | Int32 | Int64 | Int8, Int128 | Int16 | Int32 | Int64 | Int8) | String | Nil)","aliased_html":"Array(Cosmo::ValueType) | Bool | Char | Cosmo::Callable | Cosmo::Class | Cosmo::Type | Float32 | Float64 | Hash(Cosmo::ValueType, Cosmo::ValueType) | Int128 | Int16 | Int32 | Int64 | Int8 | Range(Int128 | Int16 | Int32 | Int64 | Int8, Int128 | Int16 | Int32 | Int64 | Int8) | String | Nil","const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"}}]},{"html_id":"Cosmo/FnType","path":"FnType.html","kind":"enum","full_name":"FnType","name":"FnType","abstract":false,"ancestors":[{"html_id":"Cosmo/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"Cosmo/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"Cosmo/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/resolver.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/resolver.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"Fn","name":"Fn","value":"1"}],"instance_methods":[{"html_id":"fn?-instance-method","name":"fn?","abstract":false,"location":{"filename":"src/cosmo/runtime/resolver.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/resolver.cr#L3"},"def":{"name":"fn?","visibility":"Public","body":"self == Fn"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/cosmo/runtime/resolver.cr","line_number":2,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/resolver.cr#L2"},"def":{"name":"none?","visibility":"Public","body":"self == None"}}]},{"html_id":"Cosmo/LiteralType","path":"LiteralType.html","kind":"alias","full_name":"LiteralType","name":"LiteralType","abstract":false,"locations":[{"filename":"src/cosmo/syntax/lexer.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer.cr#L4"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":true,"aliased":"(Bool | Char | Float32 | Float64 | Int128 | Int16 | Int32 | Int64 | Int8 | String | Nil)","aliased_html":"Bool | Char | Float32 | Float64 | Int128 | Int16 | Int32 | Int64 | Int8 | String | Nil","const":false}]}}
\ No newline at end of file
+{"repository_name":"Cosmo","body":"\n# Cosmo\n\nCosmo is a statically-typed programming language written in pure Crystal. \nWe have an [extension for VS code](https://marketplace.visualstudio.com/items?itemName=cosmo.vscode-cosmo) ([source](https://github.com/R-unic/vscode-cosmo)), however it currently only features syntax highlighting.\n\n## Things I Gotta Do\n\n- Enums\n- Throw when defining an already-defined class\n- `uint` type\n- String interpolation literals\n- Allow \"!\" character identifiers for macros\n- Stack trace\n- Package manager\n- Performance boosts lol\n * Parser\n * Interpreter (!!)\n- Multiple assignment\n- Somehow typecheck blocks before execution\n- Fix weird expression parsing (`[0].123` evaluates to 0.123??)\n- Literal wrapper classes (vector, table) for utility methods (filter, map, etc)\n- Interfaces\n- Classes\n * single inheritance\n * mixins\n- Better type system\n * generics\n * casting\n * intersections\n\n## Things I Might Do\n\n- Make declarations immutable by default and replace `const` with `mut`\n- Make into a VM or compiler\n- C bindings\n\n## Installation\n\n1. Install [Crystal](https://crystal-lang.org/install/).\n2. Run `sudo make install`.\n3. Assert everything is working by running `cosmo -h`\n\n## Contributing\n\n1. Fork it ()\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Test your code (`make test`)\n5. Push to the branch (`make publish`)\n6. Create a new Pull Request\n\n## Contributors\n\n- [R-unic](https://github.com/R-unic) - creator and maintainer\n","program":{"html_id":"Cosmo/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"ancestors":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"locations":[],"repository_name":"Cosmo","program":true,"enum":false,"alias":false,"const":false,"constants":[{"id":"MAX_INTRINSIC_PARAMS","name":"MAX_INTRINSIC_PARAMS","value":"255"},{"id":"TAB","name":"TAB","value":"\" \""}],"included_modules":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"extended_modules":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"class_methods":[{"html_id":"get_elapsed(start:Time::Span,finish:Time::Span):String-class-method","name":"get_elapsed","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Time::Span"},{"name":"finish","external_name":"finish","restriction":"Time::Span"}],"args_string":"(start : Time::Span, finish : Time::Span) : String","args_html":"(start : Time::Span, finish : Time::Span) : String","location":{"filename":"src/util.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/util.cr#L4"},"def":{"name":"get_elapsed","args":[{"name":"start","external_name":"start","restriction":"Time::Span"},{"name":"finish","external_name":"finish","restriction":"Time::Span"}],"return_type":"String","visibility":"Public","body":"span = finish - start\nms = span.total_milliseconds.round(5)\nif ms > 1000\n return \"#{(ms / 1000).round(2)} seconds\"\nend\n\"#{ms}ms\"\n"}},{"html_id":"get_shard:YAML::Any-class-method","name":"get_shard","doc":"Returns `shard.yml` as a `YAML::Any`","summary":"
Returns shard.yml as a YAML::Any
","abstract":false,"location":{"filename":"src/util.cr","line_number":12,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/util.cr#L12"},"def":{"name":"get_shard","return_type":"YAML::Any","visibility":"Public","body":"raw_yaml = File.read(File.join(File.dirname(\"/home/runic/Dev/crystal/cosmo/src/util.cr\"), \"..\", \"shard.yml\"))\nYAML.parse(raw_yaml)\n"}}],"types":[{"html_id":"Cosmo/Cosmo","path":"Cosmo.html","kind":"module","full_name":"Cosmo","name":"Cosmo","abstract":false,"locations":[{"filename":"src/cosmo.cr","line_number":7,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo.cr#L7"},{"filename":"src/cosmo/logger.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/logger.cr#L1"},{"filename":"src/cosmo/runtime/intrinsic/global.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/intrinsic/global.cr#L3"},{"filename":"src/cosmo/runtime/typechecker.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L6"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Version","name":"Version","value":"\"v\" + get_shard[\"version\"].to_s"}],"extended_modules":[{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"}],"instance_methods":[{"html_id":"read_file(path:String)-instance-method","name":"read_file","doc":"Reads a file at `path` and returns it's contents","summary":"
","abstract":false,"location":{"filename":"src/cosmo.cr","line_number":77,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo.cr#L77"},"def":{"name":"run_repl","visibility":"Public","body":"puts(\"Welcome to the #{rainbow(\"Cosmo\")} REPL\")\nloop do\n line = read_line\n if line.nil?\n break\n end\n result = read_source(line, file_path: \"repl\")\n puts(result.is_a?(Hash) ? Stringify.hashmap(result.as(Hash(ValueType, ValueType))) : result.to_s)\nend\n"}}],"types":[{"html_id":"Cosmo/Cosmo/AST","path":"Cosmo/AST.html","kind":"module","full_name":"Cosmo::AST","name":"AST","abstract":false,"locations":[{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L3"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"}],"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"types":[{"html_id":"Cosmo/Cosmo/AST/Expression","path":"Cosmo/AST/Expression.html","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression","abstract":false,"ancestors":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"namespace":{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"},"types":[{"html_id":"Cosmo/Cosmo/AST/Expression/Access","path":"Cosmo/AST/Expression/Access.html","kind":"class","full_name":"Cosmo::AST::Expression::Access","name":"Access","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":77,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L77"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(object:Cosmo::AST::Expression::Base,key:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::Token"}],"args_string":"(object : Cosmo::AST::Expression::Base, key : Cosmo::Token)","args_html":"(object : Cosmo::AST::Expression::Base, key : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":81,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L81"},"def":{"name":"new","args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(object, key)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":84,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L84"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_access_expr(self)"}},{"html_id":"key:Token-instance-method","name":"key","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":79,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L79"},"def":{"name":"key","return_type":"Token","visibility":"Public","body":"@key"}},{"html_id":"object:Base-instance-method","name":"object","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":78,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L78"},"def":{"name":"object","return_type":"Base","visibility":"Public","body":"@object"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":92,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L92"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Access<\\n\" + \" #{TAB * indent}object: #{@object.to_s(indent + 1)},\\n\") + \" #{TAB * indent}key: #{@key.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":88,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L88"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@object.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","path":"Cosmo/AST/Expression/Base.html","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base","abstract":true,"superclass":{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":22,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L22"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/AST/Expression/Access","kind":"class","full_name":"Cosmo::AST::Expression::Access","name":"Access"},{"html_id":"Cosmo/Cosmo/AST/Expression/BinaryOp","kind":"class","full_name":"Cosmo::AST::Expression::BinaryOp","name":"BinaryOp"},{"html_id":"Cosmo/Cosmo/AST/Expression/CompoundAssignment","kind":"class","full_name":"Cosmo::AST::Expression::CompoundAssignment","name":"CompoundAssignment"},{"html_id":"Cosmo/Cosmo/AST/Expression/FunctionCall","kind":"class","full_name":"Cosmo::AST::Expression::FunctionCall","name":"FunctionCall"},{"html_id":"Cosmo/Cosmo/AST/Expression/Index","kind":"class","full_name":"Cosmo::AST::Expression::Index","name":"Index"},{"html_id":"Cosmo/Cosmo/AST/Expression/Is","kind":"class","full_name":"Cosmo::AST::Expression::Is","name":"Is"},{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/New","kind":"class","full_name":"Cosmo::AST::Expression::New","name":"New"},{"html_id":"Cosmo/Cosmo/AST/Expression/Parameter","kind":"class","full_name":"Cosmo::AST::Expression::Parameter","name":"Parameter"},{"html_id":"Cosmo/Cosmo/AST/Expression/PropertyAssignment","kind":"class","full_name":"Cosmo::AST::Expression::PropertyAssignment","name":"PropertyAssignment"},{"html_id":"Cosmo/Cosmo/AST/Expression/RangeLiteral","kind":"class","full_name":"Cosmo::AST::Expression::RangeLiteral","name":"RangeLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/TableLiteral","kind":"class","full_name":"Cosmo::AST::Expression::TableLiteral","name":"TableLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/TernaryOp","kind":"class","full_name":"Cosmo::AST::Expression::TernaryOp","name":"TernaryOp"},{"html_id":"Cosmo/Cosmo/AST/Expression/This","kind":"class","full_name":"Cosmo::AST::Expression::This","name":"This"},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeAlias","kind":"class","full_name":"Cosmo::AST::Expression::TypeAlias","name":"TypeAlias"},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeRef","kind":"class","full_name":"Cosmo::AST::Expression::TypeRef","name":"TypeRef"},{"html_id":"Cosmo/Cosmo/AST/Expression/UnaryOp","kind":"class","full_name":"Cosmo::AST::Expression::UnaryOp","name":"UnaryOp"},{"html_id":"Cosmo/Cosmo/AST/Expression/Var","kind":"class","full_name":"Cosmo::AST::Expression::Var","name":"Var"},{"html_id":"Cosmo/Cosmo/AST/Expression/VarAssignment","kind":"class","full_name":"Cosmo::AST::Expression::VarAssignment","name":"VarAssignment"},{"html_id":"Cosmo/Cosmo/AST/Expression/VarDeclaration","kind":"class","full_name":"Cosmo::AST::Expression::VarDeclaration","name":"VarDeclaration"},{"html_id":"Cosmo/Cosmo/AST/Expression/VectorLiteral","kind":"class","full_name":"Cosmo::AST::Expression::VectorLiteral","name":"VectorLiteral"}],"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"instance_methods":[{"html_id":"accept(visitor:Visitor(R))forallR-instance-method","name":"accept","abstract":true,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) forall R","args_html":"(visitor : Visitor(R)) forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":23,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L23"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"visibility":"Public","body":""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/BigIntLiteral","path":"Cosmo/AST/Expression/BigIntLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::BigIntLiteral","name":"BigIntLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":500,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L500"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Int128,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Int128"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Int128, token)","args_html":"(value : Int128, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":501,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L501"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Int128"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":502,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L502"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/BinaryOp","path":"Cosmo/AST/Expression/BinaryOp.html","kind":"class","full_name":"Cosmo::AST::Expression::BinaryOp","name":"BinaryOp","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":332,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L332"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(left:Cosmo::AST::Expression::Base,operator:Cosmo::Token,right:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"left","external_name":"left","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"right","external_name":"right","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(left : Cosmo::AST::Expression::Base, operator : Cosmo::Token, right : Cosmo::AST::Expression::Base)","args_html":"(left : Cosmo::AST::Expression::Base, operator : Cosmo::Token, right : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":337,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L337"},"def":{"name":"new","args":[{"name":"left","external_name":"left","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"right","external_name":"right","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(left, operator, right)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":340,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L340"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_binary_op_expr(self)"}},{"html_id":"left:Base-instance-method","name":"left","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":333,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L333"},"def":{"name":"left","return_type":"Base","visibility":"Public","body":"@left"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":334,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L334"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"right:Base-instance-method","name":"right","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":335,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L335"},"def":{"name":"right","return_type":"Base","visibility":"Public","body":"@right"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":348,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L348"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Binary<\\n\" + \" #{TAB * indent}left: #{@left.to_s(indent + 1)},\\n\") + \" #{TAB * indent}operator: #{@operator.to_s},\\n\") + \" #{TAB * indent}right: #{@right.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":344,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L344"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@left.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/BooleanLiteral","path":"Cosmo/AST/Expression/BooleanLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::BooleanLiteral","name":"BooleanLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":521,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L521"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Bool,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Bool, token)","args_html":"(value : Bool, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":522,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L522"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Bool"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":523,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L523"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/CharLiteral","path":"Cosmo/AST/Expression/CharLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::CharLiteral","name":"CharLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":493,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L493"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Char,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Char"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Char, token)","args_html":"(value : Char, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":494,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L494"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Char"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":495,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L495"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<'#{@value}'>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/CompoundAssignment","path":"Cosmo/AST/Expression/CompoundAssignment.html","kind":"class","full_name":"Cosmo::AST::Expression::CompoundAssignment","name":"CompoundAssignment","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":240,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L240"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(name:Cosmo::AST::Expression::Base,operator:Cosmo::Token,value:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(name : Cosmo::AST::Expression::Base, operator : Cosmo::Token, value : Cosmo::AST::Expression::Base)","args_html":"(name : Cosmo::AST::Expression::Base, operator : Cosmo::Token, value : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":245,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L245"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name, operator, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":248,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L248"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_compound_assignment_expr(self)"}},{"html_id":"name:Var|Index|Access-instance-method","name":"name","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":241,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L241"},"def":{"name":"name","return_type":"Var | Index | Access","visibility":"Public","body":"@name"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":242,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L242"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":256,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L256"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"CompoundAssignment<\\n\" + \" #{TAB * indent}name: #{@name.to_s(indent + 1)},\\n\") + \" #{TAB * indent}operator: #{@operator.to_s},\\n\") + \" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":252,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L252"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":243,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L243"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/FloatLiteral","path":"Cosmo/AST/Expression/FloatLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::FloatLiteral","name":"FloatLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":514,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L514"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Float64|Float32|Float16|Float8,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Float32 | Float16 | Float8"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Float64 | Float32 | Float16 | Float8, token)","args_html":"(value : Float64 | Float32 | Float16 | Float8, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":515,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L515"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Float64 | Float32 | Float16 | Float8"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":516,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L516"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/FunctionCall","path":"Cosmo/AST/Expression/FunctionCall.html","kind":"class","full_name":"Cosmo::AST::Expression::FunctionCall","name":"FunctionCall","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":190,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L190"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(callee:Cosmo::AST::Expression::Base,arguments:Array(Cosmo::AST::Expression::Base))-class-method","name":"new","abstract":false,"args":[{"name":"callee","external_name":"callee","restriction":"::Cosmo::AST::Expression::Base"},{"name":"arguments","external_name":"arguments","restriction":"::Array(::Cosmo::AST::Expression::Base)"}],"args_string":"(callee : Cosmo::AST::Expression::Base, arguments : Array(Cosmo::AST::Expression::Base))","args_html":"(callee : Cosmo::AST::Expression::Base, arguments : Array(Cosmo::AST::Expression::Base))","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":194,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L194"},"def":{"name":"new","args":[{"name":"callee","external_name":"callee","restriction":"::Cosmo::AST::Expression::Base"},{"name":"arguments","external_name":"arguments","restriction":"::Array(::Cosmo::AST::Expression::Base)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(callee, arguments)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":197,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L197"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_fn_call_expr(self)"}},{"html_id":"arguments:Array(Base)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":192,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L192"},"def":{"name":"arguments","return_type":"Array(Base)","visibility":"Public","body":"@arguments"}},{"html_id":"callee:Base-instance-method","name":"callee","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":191,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L191"},"def":{"name":"callee","return_type":"Base","visibility":"Public","body":"@callee"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":205,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L205"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((((\"FunctionCall<\\n\" + \" #{TAB * indent}var: #{@callee.to_s(indent + 1)},\\n\") + \" #{TAB * indent}arguments: [\\n\") + \" #{TAB * indent}#{@arguments.map(&.to_s(indent + 2)).join(\",\\n#{TAB * (indent + 2)}\")}\\n\") + \" #{TAB * indent}]\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":201,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L201"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@callee.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Index","path":"Cosmo/AST/Expression/Index.html","kind":"class","full_name":"Cosmo::AST::Expression::Index","name":"Index","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":100,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L100"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(object:Cosmo::AST::Expression::Base,key:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(object : Cosmo::AST::Expression::Base, key : Cosmo::AST::Expression::Base)","args_html":"(object : Cosmo::AST::Expression::Base, key : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":104,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L104"},"def":{"name":"new","args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(object, key)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":107,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L107"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_index_expr(self)"}},{"html_id":"key:Base-instance-method","name":"key","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":102,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L102"},"def":{"name":"key","return_type":"Base","visibility":"Public","body":"@key"}},{"html_id":"object:Base-instance-method","name":"object","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":101,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L101"},"def":{"name":"object","return_type":"Base","visibility":"Public","body":"@object"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":115,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L115"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Index<\\n\" + \" #{TAB * indent}object: #{@object.to_s(indent + 1)},\\n\") + \" #{TAB * indent}key: #{@key.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":111,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L111"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@object.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/IntLiteral","path":"Cosmo/AST/Expression/IntLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::IntLiteral","name":"IntLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":507,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L507"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Int64|Int32|Int16|Int8,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Int64 | Int32 | Int16 | Int8"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Int64 | Int32 | Int16 | Int8, token)","args_html":"(value : Int64 | Int32 | Int16 | Int8, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":508,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L508"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Int64 | Int32 | Int16 | Int8"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":509,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L509"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Is","path":"Cosmo/AST/Expression/Is.html","kind":"class","full_name":"Cosmo::AST::Expression::Is","name":"Is","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":123,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L123"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Cosmo::AST::Expression::Base,type:Cosmo::AST::Expression::TypeRef)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"type","external_name":"type","restriction":"::Cosmo::AST::Expression::TypeRef"}],"args_string":"(value : Cosmo::AST::Expression::Base, type : Cosmo::AST::Expression::TypeRef)","args_html":"(value : Cosmo::AST::Expression::Base, type : Cosmo::AST::Expression::TypeRef)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":127,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L127"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"type","external_name":"type","restriction":"::Cosmo::AST::Expression::TypeRef"}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, type)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":130,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L130"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_is_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":138,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L138"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Is<\\n\" + \" #{TAB * indent}value: #{@value.to_s(indent + 1)},\\n\") + \" #{TAB * indent}type: #{@type.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":134,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L134"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@value.token"}},{"html_id":"type:TypeRef-instance-method","name":"type","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":125,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L125"},"def":{"name":"type","return_type":"TypeRef","visibility":"Public","body":"@type"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":124,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L124"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","path":"Cosmo/AST/Expression/Literal.html","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal","abstract":true,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":412,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L412"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/AST/Expression/BigIntLiteral","kind":"class","full_name":"Cosmo::AST::Expression::BigIntLiteral","name":"BigIntLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/BooleanLiteral","kind":"class","full_name":"Cosmo::AST::Expression::BooleanLiteral","name":"BooleanLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/CharLiteral","kind":"class","full_name":"Cosmo::AST::Expression::CharLiteral","name":"CharLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/FloatLiteral","kind":"class","full_name":"Cosmo::AST::Expression::FloatLiteral","name":"FloatLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/IntLiteral","kind":"class","full_name":"Cosmo::AST::Expression::IntLiteral","name":"IntLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/NoneLiteral","kind":"class","full_name":"Cosmo::AST::Expression::NoneLiteral","name":"NoneLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/StringLiteral","kind":"class","full_name":"Cosmo::AST::Expression::StringLiteral","name":"StringLiteral"}],"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Bool|Char|Float32|Float64|Int128|Int16|Int32|Int64|Int8|String|Nil,token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"::Bool | ::Char | ::Float32 | ::Float64 | ::Int128 | ::Int16 | ::Int32 | ::Int64 | ::Int8 | ::String | ::Nil"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(value : Bool | Char | Float32 | Float64 | Int128 | Int16 | Int32 | Int64 | Int8 | String | Nil, token : Cosmo::Token)","args_html":"(value : Bool | Char | Float32 | Float64 | Int128 | Int16 | Int32 | Int64 | Int8 | String | Nil, token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":416,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L416"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"::Bool | ::Char | ::Float32 | ::Float64 | ::Int128 | ::Int16 | ::Int32 | ::Int64 | ::Int8 | ::String | ::Nil"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":418,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L418"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_literal_expr(self)"}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":413,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L413"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}},{"html_id":"value:LiteralType-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":414,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L414"},"def":{"name":"value","return_type":"LiteralType","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/New","path":"Cosmo/AST/Expression/New.html","kind":"class","full_name":"Cosmo::AST::Expression::New","name":"New","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":373,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L373"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(token:Cosmo::Token,operand:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"},{"name":"operand","external_name":"operand","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(token : Cosmo::Token, operand : Cosmo::AST::Expression::Base)","args_html":"(token : Cosmo::Token, operand : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":377,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L377"},"def":{"name":"new","args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"},{"name":"operand","external_name":"operand","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(token, operand)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":380,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L380"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_new_expr(self)"}},{"html_id":"operand:Var|FunctionCall-instance-method","name":"operand","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":375,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L375"},"def":{"name":"operand","return_type":"Var | FunctionCall","visibility":"Public","body":"@operand"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":384,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L384"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"New\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":374,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L374"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/NoneLiteral","path":"Cosmo/AST/Expression/NoneLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::NoneLiteral","name":"NoneLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":528,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L528"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Nil,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Nil"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Nil, token)","args_html":"(value : Nil, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":529,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L529"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Nil"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":530,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L530"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Parameter","path":"Cosmo/AST/Expression/Parameter.html","kind":"class","full_name":"Cosmo::AST::Expression::Parameter","name":"Parameter","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":215,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L215"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(typedef:Cosmo::Token,identifier:Cosmo::Token,const:Bool,default_value:Cosmo::AST::Expression::Base|Nil=NoneLiteral.new(nil,identifier))-class-method","name":"new","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"const","external_name":"const","restriction":"::Bool"},{"name":"default_value","default_value":"NoneLiteral.new(nil, identifier)","external_name":"default_value","restriction":"::Cosmo::AST::Expression::Base | ::Nil"}],"args_string":"(typedef : Cosmo::Token, identifier : Cosmo::Token, const : Bool, default_value : Cosmo::AST::Expression::Base | Nil = NoneLiteral.new(nil, identifier))","args_html":"(typedef : Cosmo::Token, identifier : Cosmo::Token, const : Bool, default_value : Cosmo::AST::Expression::Base | Nil = NoneLiteral.new(nil, identifier))","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":221,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L221"},"def":{"name":"new","args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"const","external_name":"const","restriction":"::Bool"},{"name":"default_value","default_value":"NoneLiteral.new(nil, identifier)","external_name":"default_value","restriction":"::Cosmo::AST::Expression::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(typedef, identifier, const, default_value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":224,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L224"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":""}},{"html_id":"const?:Bool-instance-method","name":"const?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":218,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L218"},"def":{"name":"const?","return_type":"Bool","visibility":"Public","body":"@const"}},{"html_id":"default_value:Base|Nil-instance-method","name":"default_value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":219,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L219"},"def":{"name":"default_value","return_type":"Base | ::Nil","visibility":"Public","body":"@default_value"}},{"html_id":"identifier:Token-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":217,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L217"},"def":{"name":"identifier","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":67,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L67"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"if value.is_a?(Base)\n value_s = (@value.as(Base)).to_s(indent + 1)\nelse\n value_s = @value.to_s\nend\n\"PropertyAssignment\"\n"}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":63,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L63"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@object.token"}},{"html_id":"value:Base|ValueType-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":54,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L54"},"def":{"name":"value","return_type":"Base | ValueType","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/RangeLiteral","path":"Cosmo/AST/Expression/RangeLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::RangeLiteral","name":"RangeLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":423,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L423"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(from:Cosmo::AST::Expression::Base,to:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"::Cosmo::AST::Expression::Base"},{"name":"to","external_name":"to","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(from : Cosmo::AST::Expression::Base, to : Cosmo::AST::Expression::Base)","args_html":"(from : Cosmo::AST::Expression::Base, to : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":427,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L427"},"def":{"name":"new","args":[{"name":"from","external_name":"from","restriction":"::Cosmo::AST::Expression::Base"},{"name":"to","external_name":"to","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(from, to)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":430,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L430"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_range_literal_expr(self)"}},{"html_id":"from:Base-instance-method","name":"from","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":424,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L424"},"def":{"name":"from","return_type":"Base","visibility":"Public","body":"@from"}},{"html_id":"to:Base-instance-method","name":"to","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":425,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L425"},"def":{"name":"to","return_type":"Base","visibility":"Public","body":"@to"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":438,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L438"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"RangeLiteral<\\n\" + \" #{TAB * indent}from: #{@from.to_s(indent + 1)},\\n\") + \" #{TAB * indent}to: #{@to.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":434,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L434"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@from.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/StringLiteral","path":"Cosmo/AST/Expression/StringLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::StringLiteral","name":"StringLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":486,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L486"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:String,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : String, token)","args_html":"(value : String, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":487,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L487"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":488,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L488"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<\\\"#{@value}\\\">\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TableLiteral","path":"Cosmo/AST/Expression/TableLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::TableLiteral","name":"TableLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":446,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L446"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(hashmap:Hash(Cosmo::AST::Expression::Base,Cosmo::AST::Expression::Base),token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"hashmap","external_name":"hashmap","restriction":"::Hash(::Cosmo::AST::Expression::Base, ::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(hashmap : Hash(Cosmo::AST::Expression::Base, Cosmo::AST::Expression::Base), token : Cosmo::Token)","args_html":"(hashmap : Hash(Cosmo::AST::Expression::Base, Cosmo::AST::Expression::Base), token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":450,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L450"},"def":{"name":"new","args":[{"name":"hashmap","external_name":"hashmap","restriction":"::Hash(::Cosmo::AST::Expression::Base, ::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(hashmap, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":452,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L452"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_table_literal_expr(self)"}},{"html_id":"hashmap:Hash(Base,Base)-instance-method","name":"hashmap","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":448,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L448"},"def":{"name":"hashmap","return_type":"Hash(Base, Base)","visibility":"Public","body":"@hashmap"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":456,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L456"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"s = \"Literal<{\\n\"\n@hashmap.keys.each do |k|\n s = s + (TAB * (indent + 1))\n s = s + (k.to_s(indent + 1))\n s = s + \" -> \"\n s = s + (@hashmap[k].to_s(indent + 1))\n s = s + \"\\n\"\nend\ns + \"#{TAB * indent}}>\"\n"}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":447,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L447"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TernaryOp","path":"Cosmo/AST/Expression/TernaryOp.html","kind":"class","full_name":"Cosmo::AST::Expression::TernaryOp","name":"TernaryOp","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":26,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L26"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(condition:Cosmo::AST::Expression::Base,operator:Cosmo::Token,then:Cosmo::AST::Expression::Base,else:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Expression::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(condition : Cosmo::AST::Expression::Base, operator : Cosmo::Token, then : Cosmo::AST::Expression::Base, else : Cosmo::AST::Expression::Base)","args_html":"(condition : Cosmo::AST::Expression::Base, operator : Cosmo::Token, then : Cosmo::AST::Expression::Base, else : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":32,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L32"},"def":{"name":"new","args":[{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Expression::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(condition, operator, then, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":35,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L35"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_ternary_op_expr(self)"}},{"html_id":"condition:Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":27,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L27"},"def":{"name":"condition","return_type":"Base","visibility":"Public","body":"@condition"}},{"html_id":"else:Base-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":30,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L30"},"def":{"name":"else","return_type":"Base","visibility":"Public","body":"@else"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":28,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L28"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"then:Base-instance-method","name":"then","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":29,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L29"},"def":{"name":"then","return_type":"Base","visibility":"Public","body":"@then"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":43,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L43"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Ternary<\\n\" + \" #{TAB * indent}left: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}then: #{@then.to_s(indent + 1)}\\n\") + \" #{TAB * indent}else: #{@else.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":39,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L39"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@operator"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/This","path":"Cosmo/AST/Expression/This.html","kind":"class","full_name":"Cosmo::AST::Expression::This","name":"This","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":357,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L357"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(token:Cosmo::Token,class_name:String)-class-method","name":"new","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"},{"name":"class_name","external_name":"class_name","restriction":"::String"}],"args_string":"(token : Cosmo::Token, class_name : String)","args_html":"(token : Cosmo::Token, class_name : String)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":361,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L361"},"def":{"name":"new","args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"},{"name":"class_name","external_name":"class_name","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(token, class_name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":364,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L364"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_this_expr(self)"}},{"html_id":"class_name:String-instance-method","name":"class_name","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":359,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L359"},"def":{"name":"class_name","return_type":"String","visibility":"Public","body":"@class_name"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":368,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L368"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"This\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":358,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L358"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeAlias","path":"Cosmo/AST/Expression/TypeAlias.html","kind":"class","full_name":"Cosmo::AST::Expression::TypeAlias","name":"TypeAlias","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":165,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L165"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(type_token:Cosmo::Token,var:Cosmo::AST::Expression::Var,value:Cosmo::AST::Expression::Base,constant:Bool,visibility)-class-method","name":"new","abstract":false,"args":[{"name":"type_token","external_name":"type_token","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"args_string":"(type_token : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","args_html":"(type_token : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":172,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L172"},"def":{"name":"new","args":[{"name":"type_token","external_name":"type_token","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(type_token, var, value, constant, visibility)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":175,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L175"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_type_alias_expr(self)"}},{"html_id":"constant?:Bool-instance-method","name":"constant?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":169,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L169"},"def":{"name":"constant?","return_type":"Bool","visibility":"Public","body":"@constant"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":183,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L183"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"TypeAlias<\\n\" + \" #{TAB * indent}#{@var.token.value.to_s}: #{@value.nil? ? \"none\" : @value.not_nil!.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":179,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L179"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@var.token"}},{"html_id":"type_token:Token-instance-method","name":"type_token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":166,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L166"},"def":{"name":"type_token","return_type":"Token","visibility":"Public","body":"@type_token"}},{"html_id":"value:Expression::Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":168,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L168"},"def":{"name":"value","return_type":"Expression::Base","visibility":"Public","body":"@value"}},{"html_id":"var:Var-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":167,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L167"},"def":{"name":"var","return_type":"Var","visibility":"Public","body":"@var"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":170,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L170"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeRef","path":"Cosmo/AST/Expression/TypeRef.html","kind":"class","full_name":"Cosmo::AST::Expression::TypeRef","name":"TypeRef","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":146,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L146"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(name:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::Cosmo::Token"}],"args_string":"(name : Cosmo::Token)","args_html":"(name : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":149,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L149"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":152,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L152"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_type_ref_expr(self)"}},{"html_id":"name:Token-instance-method","name":"name","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":147,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L147"},"def":{"name":"name","return_type":"Token","visibility":"Public","body":"@name"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":160,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L160"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"TypeRef<\\\"#{@name.value.to_s}\\\">\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":156,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L156"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@name"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/UnaryOp","path":"Cosmo/AST/Expression/UnaryOp.html","kind":"class","full_name":"Cosmo::AST::Expression::UnaryOp","name":"UnaryOp","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":389,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L389"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(operator:Cosmo::Token,operand:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"operand","external_name":"operand","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(operator : Cosmo::Token, operand : Cosmo::AST::Expression::Base)","args_html":"(operator : Cosmo::Token, operand : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":393,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L393"},"def":{"name":"new","args":[{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"operand","external_name":"operand","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(operator, operand)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":396,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L396"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_unary_op_expr(self)"}},{"html_id":"operand:Base-instance-method","name":"operand","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":391,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L391"},"def":{"name":"operand","return_type":"Base","visibility":"Public","body":"@operand"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":390,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L390"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":404,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L404"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Unary<\\n\" + \" #{TAB * indent}operator: #{@operator.to_s},\\n\") + \" #{TAB * indent}operand: #{@operand.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":400,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L400"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@operator"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Var","path":"Cosmo/AST/Expression/Var.html","kind":"class","full_name":"Cosmo::AST::Expression::Var","name":"Var","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":317,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L317"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(token : Cosmo::Token)","args_html":"(token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":320,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L320"},"def":{"name":"new","args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":323,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L323"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_var_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":327,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L327"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Var<\\\"#{@token.value.to_s}\\\">\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":318,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L318"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/VarAssignment","path":"Cosmo/AST/Expression/VarAssignment.html","kind":"class","full_name":"Cosmo::AST::Expression::VarAssignment","name":"VarAssignment","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":294,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L294"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(var:Cosmo::AST::Expression::Var,value:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base)","args_html":"(var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":298,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L298"},"def":{"name":"new","args":[{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(var, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":301,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L301"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_var_assignment_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":309,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L309"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"VarAssignment<\\n\" + \" #{TAB * indent}var: #{@var.token.value.to_s},\\n\") + \" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":305,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L305"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@var.token"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":296,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L296"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}},{"html_id":"var:Var-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":295,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L295"},"def":{"name":"var","return_type":"Var","visibility":"Public","body":"@var"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/VarDeclaration","path":"Cosmo/AST/Expression/VarDeclaration.html","kind":"class","full_name":"Cosmo::AST::Expression::VarDeclaration","name":"VarDeclaration","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":265,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L265"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(typedef:Cosmo::Token,var:Cosmo::AST::Expression::Var,value:Cosmo::AST::Expression::Base,constant:Bool,visibility)-class-method","name":"new","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"args_string":"(typedef : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","args_html":"(typedef : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":272,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L272"},"def":{"name":"new","args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(typedef, var, value, constant, visibility)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":275,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L275"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_var_declaration_expr(self)"}},{"html_id":"constant?:Bool-instance-method","name":"constant?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":269,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L269"},"def":{"name":"constant?","return_type":"Bool","visibility":"Public","body":"@constant"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":283,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L283"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((((\"VarDeclaration<\\n\" + \" #{TAB * indent}typedef: #{@typedef.value},\\n\") + \" #{TAB * indent}var: #{@var.token.value.to_s},\\n\") + \" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\") + \" #{TAB * indent}constant?: #{@constant}\\n\") + \" #{TAB * indent}visibility: #{@visibility.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":279,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L279"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@var.token"}},{"html_id":"typedef:Token-instance-method","name":"typedef","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":266,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L266"},"def":{"name":"typedef","return_type":"Token","visibility":"Public","body":"@typedef"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":268,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L268"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}},{"html_id":"var:Var-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":267,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L267"},"def":{"name":"var","return_type":"Var","visibility":"Public","body":"@var"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":270,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L270"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/VectorLiteral","path":"Cosmo/AST/Expression/VectorLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::VectorLiteral","name":"VectorLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":469,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L469"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(values:Array(Cosmo::AST::Expression::Base),token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"::Array(::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(values : Array(Cosmo::AST::Expression::Base), token : Cosmo::Token)","args_html":"(values : Array(Cosmo::AST::Expression::Base), token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":473,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L473"},"def":{"name":"new","args":[{"name":"values","external_name":"values","restriction":"::Array(::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(values, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":475,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L475"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_vector_literal_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
It yields itself for any node, but if it's a Statement::ExpressionList, then it returns the first node of the ExpressionList statement
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":21,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L21"},"def":{"name":"single_expression","return_type":"Node","visibility":"Public","body":"single_expression? || self"}},{"html_id":"single_expression?:Node|Nil-instance-method","name":"single_expression?","doc":"It yields `nil` always for any regular node.\n(It is overridden by `ExpressionList` to implement `#single_expression`.)","summary":"
It yields nil always for any regular node.
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":27,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L27"},"def":{"name":"single_expression?","return_type":"Node | ::Nil","visibility":"Public","body":"nil"}},{"html_id":"start_location:Location|Nil-instance-method","name":"start_location","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":12,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L12"},"def":{"name":"start_location","return_type":"Location | ::Nil","visibility":"Public","body":"@start_location"}},{"html_id":"start_location=(start_location:Location|Nil)-instance-method","name":"start_location=","abstract":false,"args":[{"name":"start_location","external_name":"start_location","restriction":"Location | ::Nil"}],"args_string":"(start_location : Location | Nil)","args_html":"(start_location : Location | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":12,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L12"},"def":{"name":"start_location=","args":[{"name":"start_location","external_name":"start_location","restriction":"Location | ::Nil"}],"visibility":"Public","body":"@start_location = start_location"}},{"html_id":"token:Token-instance-method","name":"token","abstract":true,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":16,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L16"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":""}},{"html_id":"visibility:Cosmo::AST::Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":14,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L14"},"def":{"name":"visibility","visibility":"Public","body":"@visibility"}},{"html_id":"visibility=(visibility:Cosmo::AST::Visibility)-instance-method","name":"visibility=","abstract":false,"args":[{"name":"visibility","external_name":"visibility","restriction":"::Cosmo::AST::Visibility"}],"args_string":"(visibility : Cosmo::AST::Visibility)","args_html":"(visibility : Cosmo::AST::Visibility)","location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":14,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L14"},"def":{"name":"visibility=","args":[{"name":"visibility","external_name":"visibility","restriction":"::Cosmo::AST::Visibility"}],"visibility":"Public","body":"@visibility = visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement","path":"Cosmo/AST/Statement.html","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement","abstract":false,"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"},"types":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","path":"Cosmo/AST/Statement/Base.html","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base","abstract":true,"superclass":{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":19,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L19"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/AST/Statement/Block","kind":"class","full_name":"Cosmo::AST::Statement::Block","name":"Block"},{"html_id":"Cosmo/Cosmo/AST/Statement/Break","kind":"class","full_name":"Cosmo::AST::Statement::Break","name":"Break"},{"html_id":"Cosmo/Cosmo/AST/Statement/Case","kind":"class","full_name":"Cosmo::AST::Statement::Case","name":"Case"},{"html_id":"Cosmo/Cosmo/AST/Statement/ClassDef","kind":"class","full_name":"Cosmo::AST::Statement::ClassDef","name":"ClassDef"},{"html_id":"Cosmo/Cosmo/AST/Statement/Every","kind":"class","full_name":"Cosmo::AST::Statement::Every","name":"Every"},{"html_id":"Cosmo/Cosmo/AST/Statement/FunctionDef","kind":"class","full_name":"Cosmo::AST::Statement::FunctionDef","name":"FunctionDef"},{"html_id":"Cosmo/Cosmo/AST/Statement/If","kind":"class","full_name":"Cosmo::AST::Statement::If","name":"If"},{"html_id":"Cosmo/Cosmo/AST/Statement/Next","kind":"class","full_name":"Cosmo::AST::Statement::Next","name":"Next"},{"html_id":"Cosmo/Cosmo/AST/Statement/Return","kind":"class","full_name":"Cosmo::AST::Statement::Return","name":"Return"},{"html_id":"Cosmo/Cosmo/AST/Statement/SingleExpression","kind":"class","full_name":"Cosmo::AST::Statement::SingleExpression","name":"SingleExpression"},{"html_id":"Cosmo/Cosmo/AST/Statement/Throw","kind":"class","full_name":"Cosmo::AST::Statement::Throw","name":"Throw"},{"html_id":"Cosmo/Cosmo/AST/Statement/Unless","kind":"class","full_name":"Cosmo::AST::Statement::Unless","name":"Unless"},{"html_id":"Cosmo/Cosmo/AST/Statement/Until","kind":"class","full_name":"Cosmo::AST::Statement::Until","name":"Until"},{"html_id":"Cosmo/Cosmo/AST/Statement/Use","kind":"class","full_name":"Cosmo::AST::Statement::Use","name":"Use"},{"html_id":"Cosmo/Cosmo/AST/Statement/While","kind":"class","full_name":"Cosmo::AST::Statement::While","name":"While"}],"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"instance_methods":[{"html_id":"accept(visitor:Visitor(R))forallR-instance-method","name":"accept","abstract":true,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) forall R","args_html":"(visitor : Visitor(R)) forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":20,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L20"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"visibility":"Public","body":""}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Block","path":"Cosmo/AST/Statement/Block.html","kind":"class","full_name":"Cosmo::AST::Statement::Block","name":"Block","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":383,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L383"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(nodes:Array(Cosmo::AST::Statement::Base)=[]ofNode)-class-method","name":"new","abstract":false,"args":[{"name":"nodes","default_value":"[] of Node","external_name":"nodes","restriction":"::Array(::Cosmo::AST::Statement::Base)"}],"args_string":"(nodes : Array(Cosmo::AST::Statement::Base) = [] of Node)","args_html":"(nodes : Array(Cosmo::AST::Statement::Base) = []ofNode)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":386,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L386"},"def":{"name":"new","args":[{"name":"nodes","default_value":"[] of Node","external_name":"nodes","restriction":"::Array(::Cosmo::AST::Statement::Base)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(nodes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](i:UInt):Node-instance-method","name":"[]","abstract":false,"args":[{"name":"i","external_name":"i","restriction":"UInt"}],"args_string":"(i : UInt) : Node","args_html":"(i : UInt) : Node","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":393,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L393"},"def":{"name":"[]","args":[{"name":"i","external_name":"i","restriction":"UInt"}],"return_type":"Node","visibility":"Public","body":"@nodes[i]"}},{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":427,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L427"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_block_stmt(self)"}},{"html_id":"empty?-instance-method","name":"empty?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":389,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L389"},"def":{"name":"empty?","visibility":"Public","body":"@nodes.empty?"}},{"html_id":"end_location:Location-instance-method","name":"end_location","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":409,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L409"},"def":{"name":"end_location","return_type":"Location","visibility":"Public","body":"@end_location || @nodes.last?.try(&.end_location)"}},{"html_id":"first:Node-instance-method","name":"first","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":397,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L397"},"def":{"name":"first","return_type":"Node","visibility":"Public","body":"@nodes.first"}},{"html_id":"last:Node-instance-method","name":"last","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":401,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L401"},"def":{"name":"last","return_type":"Node","visibility":"Public","body":"@nodes.last"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":405,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L405"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location || @nodes.first?.try(&.location)"}},{"html_id":"nodes:Array(Base)-instance-method","name":"nodes","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":384,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L384"},"def":{"name":"nodes","return_type":"Array(Base)","visibility":"Public","body":"@nodes"}},{"html_id":"single_expression?:Expression::Base|Nil-instance-method","name":"single_expression?","doc":"It yields first node if this holds only one node, or yields `nil`.","summary":"
It yields first node if this holds only one node, or yields nil.
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":414,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L414"},"def":{"name":"single_expression?","return_type":"Expression::Base | ::Nil","visibility":"Public","body":"if @nodes.size == 1\n expr = @nodes.first.single_expression\n if expr.is_a?(Statement::SingleExpression)\n expr.expression\n else\n expr.as(Expression::Base)\n end\nelse\n nil\nend"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":435,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L435"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"Block\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":431,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L431"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@nodes.empty? ? Token.new(\"none\", Syntax::None, nil, Location.new(\"\", 0, 0)) : @nodes.first.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Break","path":"Cosmo/AST/Statement/Break.html","kind":"class","full_name":"Cosmo::AST::Statement::Break","name":"Break","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":164,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L164"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(keyword : Cosmo::Token)","args_html":"(keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":167,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L167"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":170,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L170"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_break_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":165,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L165"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":178,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L178"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Break\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":174,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L174"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Case","path":"Cosmo/AST/Statement/Case.html","kind":"class","full_name":"Cosmo::AST::Statement::Case","name":"Case","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":73,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L73"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,value:Cosmo::AST::Expression::Base,comparisons:Array(Cosmo::AST::Statement::When),else:Cosmo::AST::Statement::Base|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"comparisons","external_name":"comparisons","restriction":"::Array(::Cosmo::AST::Statement::When)"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"args_string":"(keyword : Cosmo::Token, value : Cosmo::AST::Expression::Base, comparisons : Array(Cosmo::AST::Statement::When), else : Cosmo::AST::Statement::Base | Nil)","args_html":"(keyword : Cosmo::Token, value : Cosmo::AST::Expression::Base, comparisons : Array(Cosmo::AST::Statement::When), else : Cosmo::AST::Statement::Base | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":79,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L79"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"comparisons","external_name":"comparisons","restriction":"::Array(::Cosmo::AST::Statement::When)"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, value, comparisons, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":82,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L82"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_case_stmt(self)"}},{"html_id":"comparisons:Array(When)-instance-method","name":"comparisons","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":76,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L76"},"def":{"name":"comparisons","return_type":"Array(When)","visibility":"Public","body":"@comparisons"}},{"html_id":"else:Base|Nil-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":77,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L77"},"def":{"name":"else","return_type":"Base | ::Nil","visibility":"Public","body":"@else"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":74,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L74"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":26,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L26"},"def":{"name":"body","return_type":"Block","visibility":"Public","body":"@body"}},{"html_id":"identifier:Token-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":24,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L24"},"def":{"name":"identifier","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"mixins:Array(Expression::Base)-instance-method","name":"mixins","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":29,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L29"},"def":{"name":"mixins","return_type":"Array(Expression::Base)","visibility":"Public","body":"@mixins"}},{"html_id":"superclass:Expression::Base|Nil-instance-method","name":"superclass","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":28,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L28"},"def":{"name":"superclass","return_type":"Expression::Base | ::Nil","visibility":"Public","body":"@superclass"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":42,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L42"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"ClassDef<\\n\" + \" #{TAB * indent}identifier: #{@identifier.value.to_s},\\n\") + \" #{TAB * indent}body: #{@body.to_s(indent + 1)}\\n\") + \" #{TAB * indent}visibility: #{@visibility.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":38,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L38"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":27,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L27"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Every","path":"Cosmo/AST/Statement/Every.html","kind":"class","full_name":"Cosmo::AST::Statement::Every","name":"Every","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":183,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L183"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,var:Cosmo::AST::Expression::VarDeclaration,enumerable:Cosmo::AST::Expression::Base,block:Cosmo::AST::Statement::Base)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::VarDeclaration"},{"name":"enumerable","external_name":"enumerable","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"args_string":"(keyword : Cosmo::Token, var : Cosmo::AST::Expression::VarDeclaration, enumerable : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","args_html":"(keyword : Cosmo::Token, var : Cosmo::AST::Expression::VarDeclaration, enumerable : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":189,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L189"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::VarDeclaration"},{"name":"enumerable","external_name":"enumerable","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, var, enumerable, block)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":192,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L192"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_every_stmt(self)"}},{"html_id":"block:Base-instance-method","name":"block","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":187,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L187"},"def":{"name":"block","return_type":"Base","visibility":"Public","body":"@block"}},{"html_id":"enumerable:Expression::Base-instance-method","name":"enumerable","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":186,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L186"},"def":{"name":"enumerable","return_type":"Expression::Base","visibility":"Public","body":"@enumerable"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":184,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L184"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":200,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L200"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Every<\\n\" + \" #{TAB * indent}var: #{@var.to_s(indent + 1)},\\n\") + \" #{TAB * indent}in: #{@enumerable.to_s(indent + 1)}\\n\") + \" #{TAB * indent}do: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":196,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L196"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"var:Expression::VarDeclaration-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":185,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L185"},"def":{"name":"var","return_type":"Expression::VarDeclaration","visibility":"Public","body":"@var"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/FunctionDef","path":"Cosmo/AST/Statement/FunctionDef.html","kind":"class","full_name":"Cosmo::AST::Statement::FunctionDef","name":"FunctionDef","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":331,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L331"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(identifier:Cosmo::Token,parameters:Array(Cosmo::AST::Expression::Parameter),body:Cosmo::AST::Statement::Block,return_typedef:Cosmo::Token,visibility)-class-method","name":"new","abstract":false,"args":[{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"parameters","external_name":"parameters","restriction":"::Array(::Cosmo::AST::Expression::Parameter)"},{"name":"body","external_name":"body","restriction":"::Cosmo::AST::Statement::Block"},{"name":"return_typedef","external_name":"return_typedef","restriction":"::Cosmo::Token"},{"name":"visibility","external_name":"visibility","restriction":""}],"args_string":"(identifier : Cosmo::Token, parameters : Array(Cosmo::AST::Expression::Parameter), body : Cosmo::AST::Statement::Block, return_typedef : Cosmo::Token, visibility)","args_html":"(identifier : Cosmo::Token, parameters : Array(Cosmo::AST::Expression::Parameter), body : Cosmo::AST::Statement::Block, return_typedef : Cosmo::Token, visibility)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":338,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L338"},"def":{"name":"new","args":[{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"parameters","external_name":"parameters","restriction":"::Array(::Cosmo::AST::Expression::Parameter)"},{"name":"body","external_name":"body","restriction":"::Cosmo::AST::Statement::Block"},{"name":"return_typedef","external_name":"return_typedef","restriction":"::Cosmo::Token"},{"name":"visibility","external_name":"visibility","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(identifier, parameters, body, return_typedef, visibility)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":341,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L341"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_fn_def_stmt(self)"}},{"html_id":"body:Block-instance-method","name":"body","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":334,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L334"},"def":{"name":"body","return_type":"Block","visibility":"Public","body":"@body"}},{"html_id":"identifier:Token-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":332,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L332"},"def":{"name":"identifier","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"parameters:Array(Expression::Parameter)-instance-method","name":"parameters","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":333,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L333"},"def":{"name":"parameters","return_type":"Array(Expression::Parameter)","visibility":"Public","body":"@parameters"}},{"html_id":"return_typedef:Token-instance-method","name":"return_typedef","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":335,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L335"},"def":{"name":"return_typedef","return_type":"Token","visibility":"Public","body":"@return_typedef"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":349,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L349"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((((((\"FunctionDef<\\n\" + \" #{TAB * indent}identifier: #{@identifier.value.to_s},\\n\") + \" #{TAB * indent}parameters: [\\n\") + \" #{TAB * indent}#{@parameters.map() do |__arg2|\n (__arg2.to_s(indent + 2)).as(String)\nend.join(\",\\n#{TAB * (indent + 2)}\")}\\n\") + \" #{TAB * indent}],\\n\") + \" #{TAB * indent}return_typedef: #{@return_typedef.value},\\n\") + \" #{TAB * indent}body: #{@body.to_s(indent + 1)}\\n\") + \" #{TAB * indent}visibility: #{@visibility.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":345,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L345"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":336,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L336"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/If","path":"Cosmo/AST/Statement/If.html","kind":"class","full_name":"Cosmo::AST::Statement::If","name":"If","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":257,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L257"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,then:Cosmo::AST::Statement::Base,else:Cosmo::AST::Statement::Base|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":263,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L263"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, then, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":266,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L266"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_if_stmt(self)"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":259,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L259"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"else:Base|Nil-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":261,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L261"},"def":{"name":"else","return_type":"Base | ::Nil","visibility":"Public","body":"@else"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":258,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L258"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"then:Base-instance-method","name":"then","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":260,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L260"},"def":{"name":"then","return_type":"Base","visibility":"Public","body":"@then"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":274,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L274"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"If<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}then: #{@then.to_s(indent + 1)},\\n\") + \" #{TAB * indent}else: #{@else.nil? ? \"none\" : @else.not_nil!.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":270,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L270"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Next","path":"Cosmo/AST/Statement/Next.html","kind":"class","full_name":"Cosmo::AST::Statement::Next","name":"Next","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":145,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L145"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(keyword : Cosmo::Token)","args_html":"(keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":148,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L148"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":151,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L151"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_next_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":146,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L146"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":159,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L159"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Next\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":155,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L155"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Return","path":"Cosmo/AST/Statement/Return.html","kind":"class","full_name":"Cosmo::AST::Statement::Return","name":"Return","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":309,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L309"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(value:Cosmo::AST::Expression::Base,keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(value : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","args_html":"(value : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":313,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L313"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":316,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L316"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_return_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":311,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L311"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":324,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L324"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"Return<\\n\" + \" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":320,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L320"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"value:Expression::Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":310,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L310"},"def":{"name":"value","return_type":"Expression::Base","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/SingleExpression","path":"Cosmo/AST/Statement/SingleExpression.html","kind":"class","full_name":"Cosmo::AST::Statement::SingleExpression","name":"SingleExpression","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":362,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L362"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(expression:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"expression","external_name":"expression","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(expression : Cosmo::AST::Expression::Base)","args_html":"(expression : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":365,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L365"},"def":{"name":"new","args":[{"name":"expression","external_name":"expression","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expression)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":368,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L368"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_single_expr_stmt(self)"}},{"html_id":"expression:Expression::Base-instance-method","name":"expression","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":363,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L363"},"def":{"name":"expression","return_type":"Expression::Base","visibility":"Public","body":"@expression"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":376,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L376"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"SingleExpression<\\n\" + \" #{TAB * indent}expression: #{@expression.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":372,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L372"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@expression.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Throw","path":"Cosmo/AST/Statement/Throw.html","kind":"class","full_name":"Cosmo::AST::Statement::Throw","name":"Throw","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":123,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L123"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(err:Cosmo::AST::Expression::Base,keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"err","external_name":"err","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(err : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","args_html":"(err : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":127,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L127"},"def":{"name":"new","args":[{"name":"err","external_name":"err","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(err, keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":130,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L130"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_throw_stmt(self)"}},{"html_id":"err:Expression::Base-instance-method","name":"err","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":124,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L124"},"def":{"name":"err","return_type":"Expression::Base","visibility":"Public","body":"@err"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":125,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L125"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":138,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L138"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"Throw<\\n\" + \" #{TAB * indent}err: #{@err.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":134,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L134"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Unless","path":"Cosmo/AST/Statement/Unless.html","kind":"class","full_name":"Cosmo::AST::Statement::Unless","name":"Unless","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":283,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L283"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,then:Cosmo::AST::Statement::Base,else:Cosmo::AST::Statement::Base|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":289,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L289"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, then, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":292,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L292"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_unless_stmt(self)"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":285,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L285"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"else:Base|Nil-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":287,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L287"},"def":{"name":"else","return_type":"Base | ::Nil","visibility":"Public","body":"@else"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":284,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L284"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"then:Base-instance-method","name":"then","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":286,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L286"},"def":{"name":"then","return_type":"Base","visibility":"Public","body":"@then"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":300,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L300"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Unless<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}then: #{@then.to_s(indent + 1)},\\n\") + \" #{TAB * indent}else: #{@else.nil? ? \"none\" : @else.not_nil!.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":296,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L296"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Until","path":"Cosmo/AST/Statement/Until.html","kind":"class","full_name":"Cosmo::AST::Statement::Until","name":"Until","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":233,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L233"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,block:Cosmo::AST::Statement::Base)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":238,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L238"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, block)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":241,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L241"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_until_stmt(self)"}},{"html_id":"block:Base-instance-method","name":"block","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":236,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L236"},"def":{"name":"block","return_type":"Base","visibility":"Public","body":"@block"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":235,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L235"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":234,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L234"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":249,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L249"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Until<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}do: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":245,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L245"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Use","path":"Cosmo/AST/Statement/Use.html","kind":"class","full_name":"Cosmo::AST::Statement::Use","name":"Use","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":101,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L101"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(module_path:Cosmo::Token,keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"module_path","external_name":"module_path","restriction":"::Cosmo::Token"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(module_path : Cosmo::Token, keyword : Cosmo::Token)","args_html":"(module_path : Cosmo::Token, keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":105,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L105"},"def":{"name":"new","args":[{"name":"module_path","external_name":"module_path","restriction":"::Cosmo::Token"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(module_path, keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":108,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L108"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_use_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":103,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L103"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"module_path:Token-instance-method","name":"module_path","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":102,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L102"},"def":{"name":"module_path","return_type":"Token","visibility":"Public","body":"@module_path"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":63,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L63"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((((\"When<\\n\" + \" #{TAB * indent}conditions: [\\n\") + \" #{TAB * indent}#{@conditions.map() do |__arg0|\n (__arg0.to_s(indent + 2)).as(String)\nend.join(\",\\n#{TAB * (indent + 2)}\")}\\n\") + \" #{TAB * indent}],\\n\") + \" #{TAB * indent}block: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":59,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L59"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/While","path":"Cosmo/AST/Statement/While.html","kind":"class","full_name":"Cosmo::AST::Statement::While","name":"While","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":209,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L209"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,block:Cosmo::AST::Statement::Base)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":214,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L214"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, block)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":217,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L217"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_while_stmt(self)"}},{"html_id":"block:Base-instance-method","name":"block","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":212,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L212"},"def":{"name":"block","return_type":"Base","visibility":"Public","body":"@block"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":211,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L211"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":210,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L210"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":225,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L225"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"While<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}do: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":221,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L221"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]}]},{"html_id":"Cosmo/Cosmo/AST/Visibility","path":"Cosmo/AST/Visibility.html","kind":"enum","full_name":"Cosmo::AST::Visibility","name":"Visibility","abstract":false,"ancestors":[{"html_id":"Cosmo/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"Cosmo/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"Cosmo/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L4"}],"repository_name":"Cosmo","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Public","name":"Public","value":"0"},{"id":"Protected","name":"Protected","value":"1"},{"id":"Private","name":"Private","value":"2"},{"id":"Static","name":"Static","value":"3"}],"namespace":{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"},"instance_methods":[{"html_id":"private?-instance-method","name":"private?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":7,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L7"},"def":{"name":"private?","visibility":"Public","body":"self == Private"}},{"html_id":"protected?-instance-method","name":"protected?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L6"},"def":{"name":"protected?","visibility":"Public","body":"self == Protected"}},{"html_id":"public?-instance-method","name":"public?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":5,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L5"},"def":{"name":"public?","visibility":"Public","body":"self == Public"}},{"html_id":"static?-instance-method","name":"static?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":8,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L8"},"def":{"name":"static?","visibility":"Public","body":"self == Static"}}]}]},{"html_id":"Cosmo/Cosmo/Callable","path":"Cosmo/Callable.html","kind":"class","full_name":"Cosmo::Callable","name":"Callable","abstract":true,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/function.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/function.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/Function","kind":"class","full_name":"Cosmo::Function","name":"Function"},{"html_id":"Cosmo/Cosmo/IntrinsicFunction","kind":"class","full_name":"Cosmo::IntrinsicFunction","name":"IntrinsicFunction"}],"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"instance_methods":[{"html_id":"arity:Range(UInt32,UInt32)-instance-method","name":"arity","abstract":true,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/function.cr#L3"},"def":{"name":"arity","return_type":"Range(UInt32, UInt32)","visibility":"Public","body":""}},{"html_id":"call(args:Array(ValueType)):ValueType-instance-method","name":"call","abstract":true,"args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"args_string":"(args : Array(ValueType)) : ValueType","args_html":"(args : Array(ValueType)) : ValueType","location":{"filename":"src/cosmo/runtime/function.cr","line_number":2,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/function.cr#L2"},"def":{"name":"call","args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"return_type":"ValueType","visibility":"Public","body":""}},{"html_id":"intrinsic?:Bool-instance-method","name":"intrinsic?","abstract":true,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/function.cr#L4"},"def":{"name":"intrinsic?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"to_s:String-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":true,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":5,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/function.cr#L5"},"def":{"name":"to_s","return_type":"String","visibility":"Public","body":""}}]},{"html_id":"Cosmo/Cosmo/Class","path":"Cosmo/Class.html","kind":"class","full_name":"Cosmo::Class","name":"Class","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/class.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/class.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(interpreter:Cosmo::Interpreter,closure:Cosmo::Scope,definition:Cosmo::AST::Statement::ClassDef)-class-method","name":"new","abstract":false,"args":[{"name":"interpreter","external_name":"interpreter","restriction":"::Cosmo::Interpreter"},{"name":"closure","external_name":"closure","restriction":"::Cosmo::Scope"},{"name":"definition","external_name":"definition","restriction":"::Cosmo::AST::Statement::ClassDef"}],"args_string":"(interpreter : Cosmo::Interpreter, closure : Cosmo::Scope, definition : Cosmo::AST::Statement::ClassDef)","args_html":"(interpreter : Cosmo::Interpreter, closure : Cosmo::Scope, definition : Cosmo::AST::Statement::ClassDef)","location":{"filename":"src/cosmo/runtime/class.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/class.cr#L6"},"def":{"name":"new","args":[{"name":"interpreter","external_name":"interpreter","restriction":"::Cosmo::Interpreter"},{"name":"closure","external_name":"closure","restriction":"::Cosmo::Scope"},{"name":"definition","external_name":"definition","restriction":"::Cosmo::AST::Statement::ClassDef"}],"visibility":"Public","body":"_ = allocate\n_.initialize(interpreter, closure, definition)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"construct(args:Array(ValueType)):ClassInstance-instance-method","name":"construct","abstract":false,"args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"args_string":"(args : Array(ValueType)) : ClassInstance","args_html":"(args : Array(ValueType)) : ClassInstance","location":{"filename":"src/cosmo/runtime/class.cr","line_number":13,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/class.cr#L13"},"def":{"name":"construct","args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"return_type":"ClassInstance","visibility":"Public","body":"instance = ClassInstance.new(self, args)\n@interpreter.set_meta(\"this\", instance)\n@interpreter.execute_block(@definition.body, Scope.new(@closure))\n@interpreter.delete_meta(\"this\")\ninstance.setup\n"}},{"html_id":"definition:Statement::ClassDef-instance-method","name":"definition","abstract":false,"location":{"filename":"src/cosmo/runtime/class.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/class.cr#L4"},"def":{"name":"definition","return_type":"Statement::ClassDef","visibility":"Public","body":"@definition"}},{"html_id":"interpreter:Interpreter-instance-method","name":"interpreter","abstract":false,"location":{"filename":"src/cosmo/runtime/class.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/class.cr#L3"},"def":{"name":"interpreter","return_type":"Interpreter","visibility":"Public","body":"@interpreter"}},{"html_id":"name-instance-method","name":"name","abstract":false,"location":{"filename":"src/cosmo/runtime/class.cr","line_number":9,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/class.cr#L9"},"def":{"name":"name","visibility":"Public","body":"@definition.identifier.lexeme"}},{"html_id":"to_s:String-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
"}],"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"class_methods":[{"html_id":"class_visibility?(s:String)-class-method","name":"class_visibility?","doc":"Returns whether or not `s` is a class vibility keyword","summary":"
Returns whether or not s is a class vibility keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String)","args_html":"(s : String)","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":36,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/keywords.cr#L36"},"def":{"name":"class_visibility?","args":[{"name":"s","external_name":"s","restriction":"String"}],"visibility":"Public","body":"CLASS_VISIBILITY_KEYWORDS.includes?(s)"}},{"html_id":"get_syntax(s:String):Syntax-class-method","name":"get_syntax","doc":"Returns the syntax type of `s` if it is a regular keyword","summary":"
Returns the syntax type of s if it is a regular keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String) : Syntax","args_html":"(s : String) : Syntax","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":51,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/keywords.cr#L51"},"def":{"name":"get_syntax","args":[{"name":"s","external_name":"s","restriction":"String"}],"return_type":"Syntax","visibility":"Public","body":"KEYWORDS.fetch(s) do\n raise(\"Invalid keyword #{s}\")\nend"}},{"html_id":"keyword?(s:String)-class-method","name":"keyword?","doc":"Returns whether or not `s` is a regular keyword","summary":"
Returns whether or not s is a regular keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String)","args_html":"(s : String)","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":46,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/keywords.cr#L46"},"def":{"name":"keyword?","args":[{"name":"s","external_name":"s","restriction":"String"}],"visibility":"Public","body":"KEYWORDS.has_key?(s)"}},{"html_id":"type?(s:String)-class-method","name":"type?","doc":"Returns whether or not `s` is a type keyword","summary":"
Returns whether or not s is a type keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String)","args_html":"(s : String)","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":41,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/keywords.cr#L41"},"def":{"name":"type?","args":[{"name":"s","external_name":"s","restriction":"String"}],"visibility":"Public","body":"TYPE_KEYWORDS.includes?(s)"}}]},{"html_id":"Cosmo/Cosmo/Lexer","path":"Cosmo/Lexer.html","kind":"class","full_name":"Cosmo::Lexer","name":"Lexer","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/lexer.cr","line_number":9,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer.cr#L9"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(source:String,file_path:String,run_benchmarks:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"String"},{"name":"file_path","external_name":"file_path","restriction":"String"},{"name":"run_benchmarks","external_name":"run_benchmarks","restriction":"Bool"}],"args_string":"(source : String, file_path : String, run_benchmarks : Bool)","args_html":"(source : String, file_path : String, run_benchmarks : Bool)","location":{"filename":"src/cosmo/syntax/lexer.cr","line_number":17,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer.cr#L17"},"def":{"name":"new","args":[{"name":"source","external_name":"source","restriction":"String"},{"name":"file_path","external_name":"file_path","restriction":"String"},{"name":"run_benchmarks","external_name":"run_benchmarks","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(source, file_path, run_benchmarks)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"tokenize:Array(Token)-instance-method","name":"tokenize","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer.cr","line_number":20,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer.cr#L20"},"def":{"name":"tokenize","return_type":"Array(Token)","visibility":"Public","body":"start_time = Time.monotonic\nwhile !finished?\n lex\nend\nadd_token(Syntax::EOF, nil)\nend_time = Time.monotonic\nif @run_benchmarks\n puts(\"Lexer @#{@file_path} took #{get_elapsed(start_time, end_time)}.\")\nend\n@tokens\n"}}]},{"html_id":"Cosmo/Cosmo/Location","path":"Cosmo/Location.html","kind":"class","full_name":"Cosmo::Location","name":"Location","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/location.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(file_name:String,line:UInt32,position:UInt32)-class-method","name":"new","abstract":false,"args":[{"name":"file_name","external_name":"file_name","restriction":"::String"},{"name":"line","external_name":"line","restriction":"::UInt32"},{"name":"position","external_name":"position","restriction":"::UInt32"}],"args_string":"(file_name : String, line : UInt32, position : UInt32)","args_html":"(file_name : String, line : UInt32, position : UInt32)","location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/location.cr#L6"},"def":{"name":"new","args":[{"name":"file_name","external_name":"file_name","restriction":"::String"},{"name":"line","external_name":"line","restriction":"::UInt32"},{"name":"position","external_name":"position","restriction":"::UInt32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(file_name, line, position)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"between?(min:UInt32,max:UInt32)-instance-method","name":"between?","abstract":false,"args":[{"name":"min","external_name":"min","restriction":"UInt32"},{"name":"max","external_name":"max","restriction":"UInt32"}],"args_string":"(min : UInt32, max : UInt32)","args_html":"(min : UInt32, max : UInt32)","location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":9,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/location.cr#L9"},"def":{"name":"between?","args":[{"name":"min","external_name":"min","restriction":"UInt32"},{"name":"max","external_name":"max","restriction":"UInt32"}],"visibility":"Public","body":"if min && max\nelse\n return false\nend\nmin <= self && self <= max\n"}},{"html_id":"directory-instance-method","name":"directory","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":14,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/location.cr#L14"},"def":{"name":"directory","visibility":"Public","body":"@file_name.try do |file_name|\n File.dirname(file_name)\nend"}},{"html_id":"file_name:String-instance-method","name":"file_name","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/location.cr#L4"},"def":{"name":"file_name","return_type":"String","visibility":"Public","body":"@file_name"}},{"html_id":"line:UInt32-instance-method","name":"line","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":2,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/location.cr#L2"},"def":{"name":"line","return_type":"UInt32","visibility":"Public","body":"@line"}},{"html_id":"position:UInt32-instance-method","name":"position","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/location.cr#L3"},"def":{"name":"position","return_type":"UInt32","visibility":"Public","body":"@position"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns true if the variable exists and is public, otherwise false
","abstract":false,"args":[{"name":"ident","external_name":"ident","restriction":"String"}],"args_string":"(ident : String) : Bool","args_html":"(ident : String) : Bool","location":{"filename":"src/cosmo/runtime/scope.cr","line_number":71,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/scope.cr#L71"},"def":{"name":"public?","args":[{"name":"ident","external_name":"ident","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"if @variables.has_key?(ident)\nelse\n return false\nend\n@variables[ident][:visibility] == Visibility::Public\n"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/token.cr","line_number":30,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/token.cr#L30"},"def":{"name":"to_s","visibility":"Public","body":"\"Token\""}},{"html_id":"type:Syntax-instance-method","name":"type","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/token.cr","line_number":5,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/token.cr#L5"},"def":{"name":"type","return_type":"Syntax","visibility":"Public","body":"@type"}},{"html_id":"type=(type:Syntax)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Syntax"}],"args_string":"(type : Syntax)","args_html":"(type : Syntax)","location":{"filename":"src/cosmo/syntax/lexer/token.cr","line_number":5,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/token.cr#L5"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"Syntax"}],"visibility":"Public","body":"@type = type"}},{"html_id":"value:LiteralType-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/token.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/token.cr#L6"},"def":{"name":"value","return_type":"LiteralType","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/Type","path":"Cosmo/Type.html","kind":"class","full_name":"Cosmo::Type","name":"Type","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/type.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/type.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(name:String)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cosmo/runtime/type.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/type.cr#L4"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cosmo/runtime/type.cr","line_number":2,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/type.cr#L2"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"location":{"filename":"src/cosmo/runtime/type.cr","line_number":7,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/type.cr#L7"},"def":{"name":"to_s","visibility":"Public","body":"\"Type<#{name}>\""}}]},{"html_id":"Cosmo/Cosmo/TypeChecker","path":"Cosmo/TypeChecker.html","kind":"module","full_name":"Cosmo::TypeChecker","name":"TypeChecker","abstract":false,"locations":[{"filename":"src/cosmo/runtime/typechecker.cr","line_number":14,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L14"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ALIASES","name":"ALIASES","value":"{} of String => String"},{"id":"REGISTERED","name":"REGISTERED","value":"[] of Type"},{"id":"TYPE_MAP","name":"TYPE_MAP","value":"{Int128 => \"bigint\", Int64 => \"int\", Int32 => \"int\", Int16 => \"int\", Int8 => \"int\", Float64 => \"float\", Float32 => \"float\", String => \"string\", Char => \"char\", Bool => \"bool\", Nil => \"none\", Class => \"class\", Function => \"func\", PutsIntrinsic => \"func\", Array(Int64) => \"int[]\", Array(Int32) => \"int[]\", Array(Int16) => \"int[]\", Array(Int8) => \"int[]\", Array(Float64) => \"float[]\", Array(Float32) => \"float[]\", Array(String) => \"string[]\", Array(Char) => \"char[]\", Array(Bool) => \"bool[]\", Array(Function) => \"fn[]\", Array(ValueType) => \"any[]\", Array => \"any[]\", Hash(ValueType, ValueType) => \"Table\", Range(Int128 | Int16 | Int32 | Int64 | Int8, Int128 | Int16 | Int32 | Int64 | Int8) => \"Range\"}"}],"extended_modules":[{"html_id":"Cosmo/Cosmo/TypeChecker","kind":"module","full_name":"Cosmo::TypeChecker","name":"TypeChecker"}],"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"instance_methods":[{"html_id":"alias_type(alias_name:String,original:String):Type-instance-method","name":"alias_type","abstract":false,"args":[{"name":"alias_name","external_name":"alias_name","restriction":"String"},{"name":"original","external_name":"original","restriction":"String"}],"args_string":"(alias_name : String, original : String) : Type","args_html":"(alias_name : String, original : String) : Type","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":105,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L105"},"def":{"name":"alias_type","args":[{"name":"alias_name","external_name":"alias_name","restriction":"String"},{"name":"original","external_name":"original","restriction":"String"}],"return_type":"Type","visibility":"Public","body":"ALIASES[alias_name] = original\nregister_type(alias_name)\n"}},{"html_id":"assert(typedef:String,value:ValueType,token:Token):Nil-instance-method","name":"assert","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"value","external_name":"value","restriction":"ValueType"},{"name":"token","external_name":"token","restriction":"Token"}],"args_string":"(typedef : String, value : ValueType, token : Token) : Nil","args_html":"(typedef : String, value : ValueType, token : Token) : Nil","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":220,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L220"},"def":{"name":"assert","args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"value","external_name":"value","restriction":"ValueType"},{"name":"token","external_name":"token","restriction":"Token"}],"return_type":"Nil","visibility":"Public","body":"matches = is?(typedef, value, token)\nif typedef.ends_with?(\"[]\")\n value_type = typedef[0..-3]\n if value.is_a?(Array)\n else\n report_mismatch(typedef, value, token)\n end\n (value.as(Array)).each do |v|\n assert(value_type, v, token)\n end\nelse\n if (typedef.includes?(\"->\")) && ((typedef.split(\"->\", 2)).size == 2)\n types = typedef.split(\"->\", 2)\n key_type = types.first.strip\n value_type = types.last.strip\n if value.is_a?(Hash)\n else\n report_mismatch(typedef, value, token)\n end\n internal = cast_hash(value)\n internal.each do |k, v|\n assert(key_type, k, token)\n assert(value_type, v, token)\n end\n else\n if typedef.starts_with?(\"(\")\n ungrouped_type = typedef[1..-2]\n assert(ungrouped_type, value, token)\n else\n if matches\n else\n report_mismatch(typedef, value, token)\n end\n end\n end\nend\n"}},{"html_id":"cast(value:T):ValueTypeforallT-instance-method","name":"cast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"T"}],"args_string":"(value : T) : ValueType forall T","args_html":"(value : T) : ValueType forall T","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":87,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L87"},"def":{"name":"cast","args":[{"name":"value","external_name":"value","restriction":"T"}],"return_type":"ValueType","visibility":"Public","body":"value.is_a?(Array) ? cast_array(value) : value.is_a?(Hash) ? cast_hash(value) : value.is_a?(Int128) && value <= Int64::MAX ? value.to_i64 : value.as(ValueType)"}},{"html_id":"cast_array(arr:Array(T)):Array(ValueType)forallT-instance-method","name":"cast_array","abstract":false,"args":[{"name":"arr","external_name":"arr","restriction":"Array(T)"}],"args_string":"(arr : Array(T)) : Array(ValueType) forall T","args_html":"(arr : Array(T)) : Array(ValueType) forall T","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":77,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L77"},"def":{"name":"cast_array","args":[{"name":"arr","external_name":"arr","restriction":"Array(T)"}],"return_type":"Array(ValueType)","visibility":"Public","body":"arr.map do |e|\n cast(e)\nend"}},{"html_id":"cast_hash(hash:Hash(K,V)):Hash(ValueType,ValueType)forallK,V-instance-method","name":"cast_hash","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash(K, V)"}],"args_string":"(hash : Hash(K, V)) : Hash(ValueType, ValueType) forall K, V","args_html":"(hash : Hash(K, V)) : Hash(ValueType, ValueType) forall K, V","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":81,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L81"},"def":{"name":"cast_hash","args":[{"name":"hash","external_name":"hash","restriction":"Hash(K, V)"}],"return_type":"Hash(ValueType, ValueType)","visibility":"Public","body":"res = {} of ValueType => ValueType\nhash.each do |k, v|\n res[cast(k)] = cast(v)\nend\nres\n"}},{"html_id":"get_mapped(t:CrystalClass):String-instance-method","name":"get_mapped","abstract":false,"args":[{"name":"t","external_name":"t","restriction":"CrystalClass"}],"args_string":"(t : CrystalClass) : String","args_html":"(t : CrystalClass) : String","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":56,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L56"},"def":{"name":"get_mapped","args":[{"name":"t","external_name":"t","restriction":"CrystalClass"}],"return_type":"String","visibility":"Public","body":"if TYPE_MAP.has_key?(t)\nelse\n raise(\"Unhandled type to map: #{t}\")\nend\nTYPE_MAP[t]\n"}},{"html_id":"get_registered_type(name:String,token:Token):Type|Nil-instance-method","name":"get_registered_type","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"token","external_name":"token","restriction":"Token"}],"args_string":"(name : String, token : Token) : Type | Nil","args_html":"(name : String, token : Token) : Type | Nil","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":134,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L134"},"def":{"name":"get_registered_type","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"token","external_name":"token","restriction":"Token"}],"return_type":"Type | ::Nil","visibility":"Public","body":"type = get_registered_type?(name, token)\nif type.nil?\n Logger.report_error(\"Could not resolve type\", \"'#{name}'\", token)\nend\ntype\n"}},{"html_id":"get_registered_type?(typedef:String,token:Token):Type|Nil-instance-method","name":"get_registered_type?","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"token","external_name":"token","restriction":"Token"}],"args_string":"(typedef : String, token : Token) : Type | Nil","args_html":"(typedef : String, token : Token) : Type | Nil","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":110,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L110"},"def":{"name":"get_registered_type?","args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"token","external_name":"token","restriction":"Token"}],"return_type":"Type | ::Nil","visibility":"Public","body":"if typedef.ends_with?(\"[]\")\n value_type = typedef[0..-3]\n if get_registered_type?(value_type, token).nil?\n else\n Type.new(typedef)\n end\nelse\n if (typedef.includes?(\"->\")) && ((typedef.split(\"->\", 2)).size == 2)\n types = typedef.split(\"->\", 2)\n key_type = types.first\n value_type = types.last\n if get_registered_type?(key_type, token).nil? && get_registered_type?(value_type, token).nil?\n else\n Type.new(typedef)\n end\n else\n if typedef.includes?(\"|\")\n types = typedef.split(\"|\")\n resolved = true\n types.each do |t|\n if get_registered_type?(t, token).nil?\n resolved = false\n break\n end\n end\n if resolved\n Type.new(typedef)\n end\n else\n REGISTERED.find do |t|\n t.name == typedef\n end\n end\n end\nend"}},{"html_id":"is?(typedef:String,value,token:Token):Bool-instance-method","name":"is?","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"value","external_name":"value","restriction":""},{"name":"token","external_name":"token","restriction":"Token"}],"args_string":"(typedef : String, value, token : Token) : Bool","args_html":"(typedef : String, value, token : Token) : Bool","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":140,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L140"},"def":{"name":"is?","args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"value","external_name":"value","restriction":""},{"name":"token","external_name":"token","restriction":"Token"}],"return_type":"Bool","visibility":"Public","body":"case typedef\nwhen \"Range\"\n value.is_a?(Range)\nwhen \"class\"\n value.is_a?(Class)\nwhen \"type\"\n value.is_a?(Type)\nwhen \"func\"\n value.is_a?(Function) || value.is_a?(IntrinsicFunction)\nwhen \"bigint\"\n value.is_a?(Int)\nwhen \"int\"\n value.is_a?(Int64 | Int32 | Int16 | Int8)\nwhen \"float\"\n value.is_a?(Float)\nwhen \"bool\"\n value.is_a?(Bool)\nwhen \"string\"\n value.is_a?(String)\nwhen \"char\"\n value.is_a?(Char)\nwhen \"none\", \"void\"\n value == nil\nwhen \"any\"\n true\nelse\n matches = false\n if typedef.starts_with?(\"(\")\n ungrouped_type = typedef[1..-2]\n matches = is?(ungrouped_type, value, token)\n else\n if typedef.ends_with?(\"[]\")\n value_type = typedef[0..-3]\n matches = value.is_a?(Array)\n if value.is_a?(Array)\n (value.as(Array)).each do |v|\n matches && (matches = is?(value_type, v, token))\n end\n end\n else\n if typedef.includes?(\"|\")\n types = typedef.split(\"|\")\n types.each do |type|\n if is?(type.strip, value, token)\n matches = true\n end\n end\n else\n if (typedef.includes?(\"->\")) && ((typedef.split(\"->\", 2)).size == 2)\n types = typedef.split(\"->\", 2)\n key_type = types.first.strip\n value_type = types.last.strip\n matches = value.is_a?(Hash)\n if value.is_a?(Hash)\n (value.as(Hash)).each do |k, v|\n matches && (matches = is?(key_type, k, token))\n matches && (matches = is?(value_type, v, token))\n end\n end\n else\n if typedef.ends_with?(\"?\")\n non_nullable_type = typedef[0..-2]\n matches = is?(non_nullable_type + \"|void\", value, token)\n else\n if matches\n else\n registered = get_registered_type?(typedef, token)\n if registered.nil?\n matches = false\n else\n if ALIASES.has_key?(registered.name)\n unaliased = ALIASES[registered.name]\n matches = is?(unaliased, value, token)\n else\n if value.is_a?(ClassInstance)\n matches = value.name == registered.name\n else\n matches = false\n end\n end\n end\n end\n end\n end\n end\n end\n end\n matches\nend"}},{"html_id":"register_intrinsics-instance-method","name":"register_intrinsics","abstract":false,"location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":63,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L63"},"def":{"name":"register_intrinsics","visibility":"Public","body":"register_type(\"Range\")\nregister_type(\"type\")\nregister_type(\"class\")\nregister_type(\"func\")\nregister_type(\"bigint\")\nregister_type(\"int\")\nregister_type(\"float\")\nregister_type(\"bool\")\nregister_type(\"string\")\nregister_type(\"char\")\nregister_type(\"void\")\n"}},{"html_id":"register_type(name:String):Type-instance-method","name":"register_type","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : Type","args_html":"(name : String) : Type","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":99,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L99"},"def":{"name":"register_type","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"Type","visibility":"Public","body":"type = Type.new(name)\nREGISTERED << type\ntype\n"}},{"html_id":"reset-instance-method","name":"reset","abstract":false,"location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":93,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L93"},"def":{"name":"reset","visibility":"Public","body":"ALIASES.clear\nREGISTERED.clear\nregister_intrinsics\n"}}]},{"html_id":"Cosmo/Cosmo/ValueType","path":"Cosmo/ValueType.html","kind":"alias","full_name":"Cosmo::ValueType","name":"ValueType","abstract":false,"locations":[{"filename":"src/cosmo/runtime/typechecker.cr","line_number":11,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L11"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":true,"aliased":"(Array(Cosmo::ValueType) | Bool | Char | Cosmo::Callable | Cosmo::Class | Cosmo::ClassInstance | Cosmo::Type | Float32 | Float64 | Hash(Cosmo::ValueType, Cosmo::ValueType) | Int128 | Int16 | Int32 | Int64 | Int8 | Range(Int128 | Int16 | Int32 | Int64 | Int8, Int128 | Int16 | Int32 | Int64 | Int8) | String | Nil)","aliased_html":"Array(Cosmo::ValueType) | Bool | Char | Cosmo::Callable | Cosmo::Class | Cosmo::ClassInstance | Cosmo::Type | Float32 | Float64 | Hash(Cosmo::ValueType, Cosmo::ValueType) | Int128 | Int16 | Int32 | Int64 | Int8 | Range(Int128 | Int16 | Int32 | Int64 | Int8, Int128 | Int16 | Int32 | Int64 | Int8) | String | Nil","const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"}}]},{"html_id":"Cosmo/FnType","path":"FnType.html","kind":"enum","full_name":"FnType","name":"FnType","abstract":false,"ancestors":[{"html_id":"Cosmo/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"Cosmo/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"Cosmo/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/resolver.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/resolver.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"Fn","name":"Fn","value":"1"}],"instance_methods":[{"html_id":"fn?-instance-method","name":"fn?","abstract":false,"location":{"filename":"src/cosmo/runtime/resolver.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/resolver.cr#L3"},"def":{"name":"fn?","visibility":"Public","body":"self == Fn"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/cosmo/runtime/resolver.cr","line_number":2,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/resolver.cr#L2"},"def":{"name":"none?","visibility":"Public","body":"self == None"}}]},{"html_id":"Cosmo/LiteralType","path":"LiteralType.html","kind":"alias","full_name":"LiteralType","name":"LiteralType","abstract":false,"locations":[{"filename":"src/cosmo/syntax/lexer.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer.cr#L4"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":true,"aliased":"(Bool | Char | Float32 | Float64 | Int128 | Int16 | Int32 | Int64 | Int8 | String | Nil)","aliased_html":"Bool | Char | Float32 | Float64 | Int128 | Int16 | Int32 | Int64 | Int8 | String | Nil","const":false},{"html_id":"Cosmo/Stringify","path":"Stringify.html","kind":"module","full_name":"Stringify","name":"Stringify","abstract":false,"locations":[{"filename":"src/util.cr","line_number":17,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/util.cr#L17"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"extended_modules":[{"html_id":"Cosmo/Stringify","kind":"module","full_name":"Stringify","name":"Stringify"}],"instance_methods":[{"html_id":"hashmap(hash:Hash,base_indent:Int=0):String-instance-method","name":"hashmap","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash"},{"name":"base_indent","default_value":"0","external_name":"base_indent","restriction":"Int"}],"args_string":"(hash : Hash, base_indent : Int = 0) : String","args_html":"(hash : Hash, base_indent : Int = 0) : String","location":{"filename":"src/util.cr","line_number":30,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/util.cr#L30"},"def":{"name":"hashmap","args":[{"name":"hash","external_name":"hash","restriction":"Hash"},{"name":"base_indent","default_value":"0","external_name":"base_indent","restriction":"Int"}],"return_type":"String","visibility":"Public","body":"@@indent = base_indent\ns = String::Builder.new(\"{\")\npush_indent(s)\nhash.each_with_index do |entry, i|\n if i == 0\n s.write((\"\\n\" + (TAB * @@indent)).to_slice)\n end\n key, value = entry\n if key.is_a?(String)\n s.write('\"'.to_s.to_slice)\n end\n s.write(key.to_s.to_slice)\n if key.is_a?(String)\n s.write('\"'.to_s.to_slice)\n end\n s.write(\" -> \".to_slice)\n if value.is_a?(Hash)\n s.write((Stringify.hashmap(value, @@indent)).to_slice)\n else\n if value.is_a?(String)\n s.write('\"'.to_s.to_slice)\n end\n s.write((value.nil? ? \"none\" : value.to_s).to_slice)\n if value.is_a?(String)\n s.write('\"'.to_s.to_slice)\n end\n end\n if i == (hash.size - 1)\n else\n s.write(\",\".to_slice)\n end\n s.write(\"\\n\".to_slice)\n if i == (hash.size - 1)\n else\n s.write((TAB * @@indent).to_slice)\n end\nend\npop_indent\ns.write(\"#{TAB * @@indent}}\".to_slice)\ns.to_s\n"}}]}]}}
\ No newline at end of file
diff --git a/docs/search-index.js b/docs/search-index.js
index c58fd077..5759d4b0 100644
--- a/docs/search-index.js
+++ b/docs/search-index.js
@@ -1 +1 @@
-crystal_doc_search_index_callback({"repository_name":"Cosmo","body":"\n# Cosmo\n\nCosmo is a statically-typed programming language written in pure Crystal. \nWe have an [extension for VS code](https://marketplace.visualstudio.com/items?itemName=cosmo.vscode-cosmo) ([source](https://github.com/R-unic/vscode-cosmo)), however it currently only features syntax highlighting.\n\n## Things I Gotta Do\n\n- Enums\n- Throw when defining an already-defined class\n- `uint` type\n- Allow \"!\" character identifiers for macros\n- Stack trace\n- Package manager\n- Performance boosts lol\n- Multiple assignment\n- Somehow typecheck blocks before execution\n- Fix weird expression parsing (`[0].123` evaluates to 0.123??)\n- Literal wrapper classes (vector, table) for utility methods (filter, map, etc)\n- Interfaces\n- Classes\n * single inheritance\n * mixins\n * methods\n * `$` (this)\n- Better type system\n * generics\n * casting\n * `typeof`\n * intersections\n\n## Things I Might Do\n\n- Make declarations immutable by default and replace `const` with `mut`\n- Make into a VM or compiler\n- C bindings\n\n## Installation\n\n1. Install [Crystal](https://crystal-lang.org/install/).\n2. Run `sudo make install`.\n3. Assert everything is working by running `cosmo -h`\n\n## Contributing\n\n1. Fork it ()\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Test your code (`make test`)\n5. Push to the branch (`make publish`)\n6. Create a new Pull Request\n\n## Contributors\n\n- [R-unic](https://github.com/R-unic) - creator and maintainer\n","program":{"html_id":"Cosmo/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"ancestors":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"locations":[],"repository_name":"Cosmo","program":true,"enum":false,"alias":false,"const":false,"constants":[{"id":"MAX_INTRINSIC_PARAMS","name":"MAX_INTRINSIC_PARAMS","value":"255"},{"id":"TAB","name":"TAB","value":"\" \""}],"included_modules":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"extended_modules":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"class_methods":[{"html_id":"get_elapsed(start:Time::Span,finish:Time::Span):String-class-method","name":"get_elapsed","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Time::Span"},{"name":"finish","external_name":"finish","restriction":"Time::Span"}],"args_string":"(start : Time::Span, finish : Time::Span) : String","args_html":"(start : Time::Span, finish : Time::Span) : String","location":{"filename":"src/util.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/util.cr#L4"},"def":{"name":"get_elapsed","args":[{"name":"start","external_name":"start","restriction":"Time::Span"},{"name":"finish","external_name":"finish","restriction":"Time::Span"}],"return_type":"String","visibility":"Public","body":"span = finish - start\nms = span.total_milliseconds.round(5)\nif ms > 1000\n return \"#{(ms / 1000).round(2)} seconds\"\nend\n\"#{ms}ms\"\n"}},{"html_id":"get_shard:YAML::Any-class-method","name":"get_shard","doc":"Returns `shard.yml` as a `YAML::Any`","summary":"
Returns shard.yml as a YAML::Any
","abstract":false,"location":{"filename":"src/util.cr","line_number":12,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/util.cr#L12"},"def":{"name":"get_shard","return_type":"YAML::Any","visibility":"Public","body":"raw_yaml = File.read(File.join(File.dirname(\"/home/runic/Dev/crystal/cosmo/src/util.cr\"), \"..\", \"shard.yml\"))\nYAML.parse(raw_yaml)\n"}}],"types":[{"html_id":"Cosmo/Cosmo","path":"Cosmo.html","kind":"module","full_name":"Cosmo","name":"Cosmo","abstract":false,"locations":[{"filename":"src/cosmo.cr","line_number":7,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo.cr#L7"},{"filename":"src/cosmo/logger.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/logger.cr#L1"},{"filename":"src/cosmo/runtime/intrinsic/global.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/intrinsic/global.cr#L3"},{"filename":"src/cosmo/runtime/typechecker.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L6"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Version","name":"Version","value":"\"v\" + get_shard[\"version\"].to_s"}],"extended_modules":[{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"}],"instance_methods":[{"html_id":"read_file(path:String)-instance-method","name":"read_file","doc":"Reads a file at `path` and returns it's contents","summary":"
","abstract":false,"location":{"filename":"src/cosmo.cr","line_number":77,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo.cr#L77"},"def":{"name":"run_repl","visibility":"Public","body":"puts(\"Welcome to the #{rainbow(\"Cosmo\")} REPL\")\nloop do\n line = read_line\n if line.nil?\n break\n end\n puts((read_source(line, file_path: \"repl\")).to_s)\nend\n"}}],"types":[{"html_id":"Cosmo/Cosmo/AST","path":"Cosmo/AST.html","kind":"module","full_name":"Cosmo::AST","name":"AST","abstract":false,"locations":[{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L3"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"}],"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"types":[{"html_id":"Cosmo/Cosmo/AST/Expression","path":"Cosmo/AST/Expression.html","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression","abstract":false,"ancestors":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"namespace":{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"},"types":[{"html_id":"Cosmo/Cosmo/AST/Expression/Access","path":"Cosmo/AST/Expression/Access.html","kind":"class","full_name":"Cosmo::AST::Expression::Access","name":"Access","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":76,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L76"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(object:Cosmo::AST::Expression::Base,key:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::Token"}],"args_string":"(object : Cosmo::AST::Expression::Base, key : Cosmo::Token)","args_html":"(object : Cosmo::AST::Expression::Base, key : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":80,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L80"},"def":{"name":"new","args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(object, key)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":83,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L83"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_access_expr(self)"}},{"html_id":"key:Token-instance-method","name":"key","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":78,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L78"},"def":{"name":"key","return_type":"Token","visibility":"Public","body":"@key"}},{"html_id":"object:Base-instance-method","name":"object","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":77,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L77"},"def":{"name":"object","return_type":"Base","visibility":"Public","body":"@object"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":91,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L91"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Access<\\n\" + \" #{TAB * indent}object: #{@object.to_s(indent + 1)},\\n\") + \" #{TAB * indent}key: #{@key.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":87,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L87"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@object.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","path":"Cosmo/AST/Expression/Base.html","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base","abstract":true,"superclass":{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":21,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L21"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/AST/Expression/Access","kind":"class","full_name":"Cosmo::AST::Expression::Access","name":"Access"},{"html_id":"Cosmo/Cosmo/AST/Expression/BinaryOp","kind":"class","full_name":"Cosmo::AST::Expression::BinaryOp","name":"BinaryOp"},{"html_id":"Cosmo/Cosmo/AST/Expression/CompoundAssignment","kind":"class","full_name":"Cosmo::AST::Expression::CompoundAssignment","name":"CompoundAssignment"},{"html_id":"Cosmo/Cosmo/AST/Expression/FunctionCall","kind":"class","full_name":"Cosmo::AST::Expression::FunctionCall","name":"FunctionCall"},{"html_id":"Cosmo/Cosmo/AST/Expression/Index","kind":"class","full_name":"Cosmo::AST::Expression::Index","name":"Index"},{"html_id":"Cosmo/Cosmo/AST/Expression/Is","kind":"class","full_name":"Cosmo::AST::Expression::Is","name":"Is"},{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Parameter","kind":"class","full_name":"Cosmo::AST::Expression::Parameter","name":"Parameter"},{"html_id":"Cosmo/Cosmo/AST/Expression/PropertyAssignment","kind":"class","full_name":"Cosmo::AST::Expression::PropertyAssignment","name":"PropertyAssignment"},{"html_id":"Cosmo/Cosmo/AST/Expression/RangeLiteral","kind":"class","full_name":"Cosmo::AST::Expression::RangeLiteral","name":"RangeLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/TableLiteral","kind":"class","full_name":"Cosmo::AST::Expression::TableLiteral","name":"TableLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/TernaryOp","kind":"class","full_name":"Cosmo::AST::Expression::TernaryOp","name":"TernaryOp"},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeAlias","kind":"class","full_name":"Cosmo::AST::Expression::TypeAlias","name":"TypeAlias"},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeRef","kind":"class","full_name":"Cosmo::AST::Expression::TypeRef","name":"TypeRef"},{"html_id":"Cosmo/Cosmo/AST/Expression/UnaryOp","kind":"class","full_name":"Cosmo::AST::Expression::UnaryOp","name":"UnaryOp"},{"html_id":"Cosmo/Cosmo/AST/Expression/Var","kind":"class","full_name":"Cosmo::AST::Expression::Var","name":"Var"},{"html_id":"Cosmo/Cosmo/AST/Expression/VarAssignment","kind":"class","full_name":"Cosmo::AST::Expression::VarAssignment","name":"VarAssignment"},{"html_id":"Cosmo/Cosmo/AST/Expression/VarDeclaration","kind":"class","full_name":"Cosmo::AST::Expression::VarDeclaration","name":"VarDeclaration"},{"html_id":"Cosmo/Cosmo/AST/Expression/VectorLiteral","kind":"class","full_name":"Cosmo::AST::Expression::VectorLiteral","name":"VectorLiteral"}],"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"instance_methods":[{"html_id":"accept(visitor:Visitor(R))forallR-instance-method","name":"accept","abstract":true,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) forall R","args_html":"(visitor : Visitor(R)) forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":22,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L22"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"visibility":"Public","body":""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/BigIntLiteral","path":"Cosmo/AST/Expression/BigIntLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::BigIntLiteral","name":"BigIntLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":467,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L467"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Int128,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Int128"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Int128, token)","args_html":"(value : Int128, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":468,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L468"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Int128"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":469,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L469"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/BinaryOp","path":"Cosmo/AST/Expression/BinaryOp.html","kind":"class","full_name":"Cosmo::AST::Expression::BinaryOp","name":"BinaryOp","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":331,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L331"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(left:Cosmo::AST::Expression::Base,operator:Cosmo::Token,right:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"left","external_name":"left","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"right","external_name":"right","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(left : Cosmo::AST::Expression::Base, operator : Cosmo::Token, right : Cosmo::AST::Expression::Base)","args_html":"(left : Cosmo::AST::Expression::Base, operator : Cosmo::Token, right : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":336,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L336"},"def":{"name":"new","args":[{"name":"left","external_name":"left","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"right","external_name":"right","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(left, operator, right)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":339,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L339"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_binary_op_expr(self)"}},{"html_id":"left:Base-instance-method","name":"left","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":332,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L332"},"def":{"name":"left","return_type":"Base","visibility":"Public","body":"@left"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":333,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L333"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"right:Base-instance-method","name":"right","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":334,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L334"},"def":{"name":"right","return_type":"Base","visibility":"Public","body":"@right"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":347,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L347"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Binary<\\n\" + \" #{TAB * indent}left: #{@left.to_s(indent + 1)},\\n\") + \" #{TAB * indent}operator: #{@operator.to_s},\\n\") + \" #{TAB * indent}right: #{@right.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":343,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L343"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@left.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/BooleanLiteral","path":"Cosmo/AST/Expression/BooleanLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::BooleanLiteral","name":"BooleanLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":488,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L488"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Bool,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Bool, token)","args_html":"(value : Bool, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":489,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L489"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Bool"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":490,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L490"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/CharLiteral","path":"Cosmo/AST/Expression/CharLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::CharLiteral","name":"CharLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":460,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L460"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Char,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Char"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Char, token)","args_html":"(value : Char, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":461,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L461"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Char"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":462,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L462"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<'#{@value}'>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/CompoundAssignment","path":"Cosmo/AST/Expression/CompoundAssignment.html","kind":"class","full_name":"Cosmo::AST::Expression::CompoundAssignment","name":"CompoundAssignment","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":239,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L239"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(name:Cosmo::Token,operator:Cosmo::Token,value:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::Cosmo::Token"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(name : Cosmo::Token, operator : Cosmo::Token, value : Cosmo::AST::Expression::Base)","args_html":"(name : Cosmo::Token, operator : Cosmo::Token, value : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":244,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L244"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::Cosmo::Token"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name, operator, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":247,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L247"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_compound_assignment_expr(self)"}},{"html_id":"name:Token-instance-method","name":"name","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":240,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L240"},"def":{"name":"name","return_type":"Token","visibility":"Public","body":"@name"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":241,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L241"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":255,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L255"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"CompoundAssignment<\\n\"\n\" #{TAB * indent}name: #{@name.value},\\n\"\n\" #{TAB * indent}operator: #{@operator.to_s},\\n\"\n\" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\"\n\"#{TAB * indent}>\"\n"}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":251,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L251"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@name"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":242,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L242"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/FloatLiteral","path":"Cosmo/AST/Expression/FloatLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::FloatLiteral","name":"FloatLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":481,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L481"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Float64|Float32|Float16|Float8,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Float32 | Float16 | Float8"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Float64 | Float32 | Float16 | Float8, token)","args_html":"(value : Float64 | Float32 | Float16 | Float8, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":482,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L482"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Float64 | Float32 | Float16 | Float8"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":483,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L483"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/FunctionCall","path":"Cosmo/AST/Expression/FunctionCall.html","kind":"class","full_name":"Cosmo::AST::Expression::FunctionCall","name":"FunctionCall","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":189,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L189"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(callee:Cosmo::AST::Expression::Base,arguments:Array(Cosmo::AST::Expression::Base))-class-method","name":"new","abstract":false,"args":[{"name":"callee","external_name":"callee","restriction":"::Cosmo::AST::Expression::Base"},{"name":"arguments","external_name":"arguments","restriction":"::Array(::Cosmo::AST::Expression::Base)"}],"args_string":"(callee : Cosmo::AST::Expression::Base, arguments : Array(Cosmo::AST::Expression::Base))","args_html":"(callee : Cosmo::AST::Expression::Base, arguments : Array(Cosmo::AST::Expression::Base))","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":193,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L193"},"def":{"name":"new","args":[{"name":"callee","external_name":"callee","restriction":"::Cosmo::AST::Expression::Base"},{"name":"arguments","external_name":"arguments","restriction":"::Array(::Cosmo::AST::Expression::Base)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(callee, arguments)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":196,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L196"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_fn_call_expr(self)"}},{"html_id":"arguments:Array(Base)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":191,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L191"},"def":{"name":"arguments","return_type":"Array(Base)","visibility":"Public","body":"@arguments"}},{"html_id":"callee:Base-instance-method","name":"callee","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":190,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L190"},"def":{"name":"callee","return_type":"Base","visibility":"Public","body":"@callee"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":204,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L204"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((((\"FunctionCall<\\n\" + \" #{TAB * indent}var: #{@callee.to_s(indent + 1)},\\n\") + \" #{TAB * indent}arguments: [\\n\") + \" #{TAB * indent}#{@arguments.map(&.to_s(indent + 2)).join(\",\\n#{TAB * (indent + 2)}\")}\\n\") + \" #{TAB * indent}]\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":200,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L200"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@callee.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Index","path":"Cosmo/AST/Expression/Index.html","kind":"class","full_name":"Cosmo::AST::Expression::Index","name":"Index","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":99,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L99"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(object:Cosmo::AST::Expression::Base,key:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(object : Cosmo::AST::Expression::Base, key : Cosmo::AST::Expression::Base)","args_html":"(object : Cosmo::AST::Expression::Base, key : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":103,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L103"},"def":{"name":"new","args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(object, key)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":106,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L106"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_index_expr(self)"}},{"html_id":"key:Base-instance-method","name":"key","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":101,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L101"},"def":{"name":"key","return_type":"Base","visibility":"Public","body":"@key"}},{"html_id":"object:Base-instance-method","name":"object","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":100,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L100"},"def":{"name":"object","return_type":"Base","visibility":"Public","body":"@object"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":114,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L114"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Index<\\n\" + \" #{TAB * indent}object: #{@object.to_s(indent + 1)},\\n\") + \" #{TAB * indent}key: #{@key.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":110,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L110"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@object.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/IntLiteral","path":"Cosmo/AST/Expression/IntLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::IntLiteral","name":"IntLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":474,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L474"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Int64|Int32|Int16|Int8,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Int64 | Int32 | Int16 | Int8"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Int64 | Int32 | Int16 | Int8, token)","args_html":"(value : Int64 | Int32 | Int16 | Int8, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":475,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L475"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Int64 | Int32 | Int16 | Int8"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":476,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L476"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Is","path":"Cosmo/AST/Expression/Is.html","kind":"class","full_name":"Cosmo::AST::Expression::Is","name":"Is","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":122,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L122"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Cosmo::AST::Expression::Base,type:Cosmo::AST::Expression::TypeRef)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"type","external_name":"type","restriction":"::Cosmo::AST::Expression::TypeRef"}],"args_string":"(value : Cosmo::AST::Expression::Base, type : Cosmo::AST::Expression::TypeRef)","args_html":"(value : Cosmo::AST::Expression::Base, type : Cosmo::AST::Expression::TypeRef)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":126,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L126"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"type","external_name":"type","restriction":"::Cosmo::AST::Expression::TypeRef"}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, type)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":129,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L129"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_is_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":137,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L137"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Is<\\n\" + \" #{TAB * indent}value: #{@value.to_s(indent + 1)},\\n\") + \" #{TAB * indent}type: #{@type.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":133,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L133"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@value.token"}},{"html_id":"type:TypeRef-instance-method","name":"type","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":124,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L124"},"def":{"name":"type","return_type":"TypeRef","visibility":"Public","body":"@type"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":123,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L123"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","path":"Cosmo/AST/Expression/Literal.html","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal","abstract":true,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":379,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L379"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/AST/Expression/BigIntLiteral","kind":"class","full_name":"Cosmo::AST::Expression::BigIntLiteral","name":"BigIntLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/BooleanLiteral","kind":"class","full_name":"Cosmo::AST::Expression::BooleanLiteral","name":"BooleanLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/CharLiteral","kind":"class","full_name":"Cosmo::AST::Expression::CharLiteral","name":"CharLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/FloatLiteral","kind":"class","full_name":"Cosmo::AST::Expression::FloatLiteral","name":"FloatLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/IntLiteral","kind":"class","full_name":"Cosmo::AST::Expression::IntLiteral","name":"IntLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/NoneLiteral","kind":"class","full_name":"Cosmo::AST::Expression::NoneLiteral","name":"NoneLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/StringLiteral","kind":"class","full_name":"Cosmo::AST::Expression::StringLiteral","name":"StringLiteral"}],"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Bool|Char|Float32|Float64|Int128|Int16|Int32|Int64|Int8|String|Nil,token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"::Bool | ::Char | ::Float32 | ::Float64 | ::Int128 | ::Int16 | ::Int32 | ::Int64 | ::Int8 | ::String | ::Nil"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(value : Bool | Char | Float32 | Float64 | Int128 | Int16 | Int32 | Int64 | Int8 | String | Nil, token : Cosmo::Token)","args_html":"(value : Bool | Char | Float32 | Float64 | Int128 | Int16 | Int32 | Int64 | Int8 | String | Nil, token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":383,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L383"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"::Bool | ::Char | ::Float32 | ::Float64 | ::Int128 | ::Int16 | ::Int32 | ::Int64 | ::Int8 | ::String | ::Nil"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":385,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L385"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_literal_expr(self)"}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":380,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L380"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}},{"html_id":"value:LiteralType-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":381,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L381"},"def":{"name":"value","return_type":"LiteralType","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/NoneLiteral","path":"Cosmo/AST/Expression/NoneLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::NoneLiteral","name":"NoneLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":495,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L495"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Nil,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Nil"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Nil, token)","args_html":"(value : Nil, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":496,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L496"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Nil"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":497,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L497"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Parameter","path":"Cosmo/AST/Expression/Parameter.html","kind":"class","full_name":"Cosmo::AST::Expression::Parameter","name":"Parameter","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":214,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L214"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(typedef:Cosmo::Token,identifier:Cosmo::Token,const:Bool,default_value:Cosmo::AST::Expression::Base|Nil=NoneLiteral.new(nil,identifier))-class-method","name":"new","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"const","external_name":"const","restriction":"::Bool"},{"name":"default_value","default_value":"NoneLiteral.new(nil, identifier)","external_name":"default_value","restriction":"::Cosmo::AST::Expression::Base | ::Nil"}],"args_string":"(typedef : Cosmo::Token, identifier : Cosmo::Token, const : Bool, default_value : Cosmo::AST::Expression::Base | Nil = NoneLiteral.new(nil, identifier))","args_html":"(typedef : Cosmo::Token, identifier : Cosmo::Token, const : Bool, default_value : Cosmo::AST::Expression::Base | Nil = NoneLiteral.new(nil, identifier))","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":220,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L220"},"def":{"name":"new","args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"const","external_name":"const","restriction":"::Bool"},{"name":"default_value","default_value":"NoneLiteral.new(nil, identifier)","external_name":"default_value","restriction":"::Cosmo::AST::Expression::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(typedef, identifier, const, default_value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":223,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L223"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":""}},{"html_id":"const?:Bool-instance-method","name":"const?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":217,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L217"},"def":{"name":"const?","return_type":"Bool","visibility":"Public","body":"@const"}},{"html_id":"default_value:Base|Nil-instance-method","name":"default_value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":218,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L218"},"def":{"name":"default_value","return_type":"Base | ::Nil","visibility":"Public","body":"@default_value"}},{"html_id":"identifier:Token-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":216,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L216"},"def":{"name":"identifier","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":66,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L66"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"if value.is_a?(Base)\n value_s = (@value.as(Base)).to_s(indent + 1)\nelse\n value_s = @value.to_s\nend\n\"PropertyAssignment\"\n"}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":62,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L62"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@object.token"}},{"html_id":"value:Base|ValueType-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":53,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L53"},"def":{"name":"value","return_type":"Base | ValueType","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/RangeLiteral","path":"Cosmo/AST/Expression/RangeLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::RangeLiteral","name":"RangeLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":390,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L390"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(from:Cosmo::AST::Expression::Base,to:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"::Cosmo::AST::Expression::Base"},{"name":"to","external_name":"to","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(from : Cosmo::AST::Expression::Base, to : Cosmo::AST::Expression::Base)","args_html":"(from : Cosmo::AST::Expression::Base, to : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":394,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L394"},"def":{"name":"new","args":[{"name":"from","external_name":"from","restriction":"::Cosmo::AST::Expression::Base"},{"name":"to","external_name":"to","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(from, to)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":397,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L397"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_range_literal_expr(self)"}},{"html_id":"from:Base-instance-method","name":"from","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":391,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L391"},"def":{"name":"from","return_type":"Base","visibility":"Public","body":"@from"}},{"html_id":"to:Base-instance-method","name":"to","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":392,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L392"},"def":{"name":"to","return_type":"Base","visibility":"Public","body":"@to"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":405,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L405"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"RangeLiteral<\\n\" + \" #{TAB * indent}from: #{@from.to_s(indent + 1)},\\n\") + \" #{TAB * indent}to: #{@to.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":401,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L401"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@from.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/StringLiteral","path":"Cosmo/AST/Expression/StringLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::StringLiteral","name":"StringLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":453,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L453"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:String,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : String, token)","args_html":"(value : String, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":454,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L454"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":455,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L455"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<\\\"#{@value}\\\">\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TableLiteral","path":"Cosmo/AST/Expression/TableLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::TableLiteral","name":"TableLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":413,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L413"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(hashmap:Hash(Cosmo::AST::Expression::Base,Cosmo::AST::Expression::Base),token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"hashmap","external_name":"hashmap","restriction":"::Hash(::Cosmo::AST::Expression::Base, ::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(hashmap : Hash(Cosmo::AST::Expression::Base, Cosmo::AST::Expression::Base), token : Cosmo::Token)","args_html":"(hashmap : Hash(Cosmo::AST::Expression::Base, Cosmo::AST::Expression::Base), token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":417,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L417"},"def":{"name":"new","args":[{"name":"hashmap","external_name":"hashmap","restriction":"::Hash(::Cosmo::AST::Expression::Base, ::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(hashmap, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":419,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L419"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_table_literal_expr(self)"}},{"html_id":"hashmap:Hash(Base,Base)-instance-method","name":"hashmap","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":415,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L415"},"def":{"name":"hashmap","return_type":"Hash(Base, Base)","visibility":"Public","body":"@hashmap"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":423,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L423"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"s = \"Literal<{\\n\"\n@hashmap.keys.each do |k|\n s = s + (TAB * (indent + 1))\n s = s + (k.to_s(indent + 1))\n s = s + \" -> \"\n s = s + (@hashmap[k].to_s(indent + 1))\n s = s + \"\\n\"\nend\ns + \"#{TAB * indent}}>\"\n"}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":414,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L414"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TernaryOp","path":"Cosmo/AST/Expression/TernaryOp.html","kind":"class","full_name":"Cosmo::AST::Expression::TernaryOp","name":"TernaryOp","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":25,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L25"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(condition:Cosmo::AST::Expression::Base,operator:Cosmo::Token,then:Cosmo::AST::Expression::Base,else:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Expression::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(condition : Cosmo::AST::Expression::Base, operator : Cosmo::Token, then : Cosmo::AST::Expression::Base, else : Cosmo::AST::Expression::Base)","args_html":"(condition : Cosmo::AST::Expression::Base, operator : Cosmo::Token, then : Cosmo::AST::Expression::Base, else : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":31,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L31"},"def":{"name":"new","args":[{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Expression::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(condition, operator, then, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":34,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L34"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_ternary_op_expr(self)"}},{"html_id":"condition:Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":26,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L26"},"def":{"name":"condition","return_type":"Base","visibility":"Public","body":"@condition"}},{"html_id":"else:Base-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":29,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L29"},"def":{"name":"else","return_type":"Base","visibility":"Public","body":"@else"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":27,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L27"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"then:Base-instance-method","name":"then","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":28,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L28"},"def":{"name":"then","return_type":"Base","visibility":"Public","body":"@then"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":42,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L42"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Ternary<\\n\" + \" #{TAB * indent}left: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}then: #{@then.to_s(indent + 1)}\\n\") + \" #{TAB * indent}else: #{@else.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":38,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L38"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@operator"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeAlias","path":"Cosmo/AST/Expression/TypeAlias.html","kind":"class","full_name":"Cosmo::AST::Expression::TypeAlias","name":"TypeAlias","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":164,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L164"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(type_token:Cosmo::Token,var:Cosmo::AST::Expression::Var,value:Cosmo::AST::Expression::Base,constant:Bool,visibility)-class-method","name":"new","abstract":false,"args":[{"name":"type_token","external_name":"type_token","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"args_string":"(type_token : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","args_html":"(type_token : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":171,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L171"},"def":{"name":"new","args":[{"name":"type_token","external_name":"type_token","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(type_token, var, value, constant, visibility)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":174,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L174"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_type_alias_expr(self)"}},{"html_id":"constant?:Bool-instance-method","name":"constant?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":168,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L168"},"def":{"name":"constant?","return_type":"Bool","visibility":"Public","body":"@constant"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":182,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L182"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"TypeAlias<\\n\" + \" #{TAB * indent}#{@var.token.value.to_s}: #{@value.nil? ? \"none\" : @value.not_nil!.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":178,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L178"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@var.token"}},{"html_id":"type_token:Token-instance-method","name":"type_token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":165,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L165"},"def":{"name":"type_token","return_type":"Token","visibility":"Public","body":"@type_token"}},{"html_id":"value:Expression::Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":167,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L167"},"def":{"name":"value","return_type":"Expression::Base","visibility":"Public","body":"@value"}},{"html_id":"var:Var-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":166,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L166"},"def":{"name":"var","return_type":"Var","visibility":"Public","body":"@var"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":169,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L169"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeRef","path":"Cosmo/AST/Expression/TypeRef.html","kind":"class","full_name":"Cosmo::AST::Expression::TypeRef","name":"TypeRef","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":145,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L145"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(name:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::Cosmo::Token"}],"args_string":"(name : Cosmo::Token)","args_html":"(name : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":148,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L148"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":151,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L151"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_type_ref_expr(self)"}},{"html_id":"name:Token-instance-method","name":"name","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":146,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L146"},"def":{"name":"name","return_type":"Token","visibility":"Public","body":"@name"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":159,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L159"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"TypeRef<\\\"#{@name.value.to_s}\\\">\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":155,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L155"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@name"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/UnaryOp","path":"Cosmo/AST/Expression/UnaryOp.html","kind":"class","full_name":"Cosmo::AST::Expression::UnaryOp","name":"UnaryOp","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":356,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L356"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(operator:Cosmo::Token,operand:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"operand","external_name":"operand","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(operator : Cosmo::Token, operand : Cosmo::AST::Expression::Base)","args_html":"(operator : Cosmo::Token, operand : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":360,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L360"},"def":{"name":"new","args":[{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"operand","external_name":"operand","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(operator, operand)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":363,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L363"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_unary_op_expr(self)"}},{"html_id":"operand:Base-instance-method","name":"operand","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":358,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L358"},"def":{"name":"operand","return_type":"Base","visibility":"Public","body":"@operand"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":357,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L357"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":371,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L371"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Unary<\\n\" + \" #{TAB * indent}operator: #{@operator.to_s},\\n\") + \" #{TAB * indent}operand: #{@operand.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":367,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L367"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@operator"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Var","path":"Cosmo/AST/Expression/Var.html","kind":"class","full_name":"Cosmo::AST::Expression::Var","name":"Var","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":316,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L316"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(token : Cosmo::Token)","args_html":"(token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":319,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L319"},"def":{"name":"new","args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":322,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L322"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_var_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":326,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L326"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Var<\\\"#{@token.value.to_s}\\\">\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":317,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L317"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/VarAssignment","path":"Cosmo/AST/Expression/VarAssignment.html","kind":"class","full_name":"Cosmo::AST::Expression::VarAssignment","name":"VarAssignment","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":293,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L293"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(var:Cosmo::AST::Expression::Var,value:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base)","args_html":"(var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":297,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L297"},"def":{"name":"new","args":[{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(var, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":300,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L300"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_var_assignment_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":308,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L308"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"VarAssignment<\\n\" + \" #{TAB * indent}var: #{@var.token.value.to_s},\\n\") + \" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":304,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L304"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@var.token"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":295,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L295"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}},{"html_id":"var:Var-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":294,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L294"},"def":{"name":"var","return_type":"Var","visibility":"Public","body":"@var"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/VarDeclaration","path":"Cosmo/AST/Expression/VarDeclaration.html","kind":"class","full_name":"Cosmo::AST::Expression::VarDeclaration","name":"VarDeclaration","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":264,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L264"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(typedef:Cosmo::Token,var:Cosmo::AST::Expression::Var,value:Cosmo::AST::Expression::Base,constant:Bool,visibility)-class-method","name":"new","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"args_string":"(typedef : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","args_html":"(typedef : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":271,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L271"},"def":{"name":"new","args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(typedef, var, value, constant, visibility)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":274,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L274"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_var_declaration_expr(self)"}},{"html_id":"constant?:Bool-instance-method","name":"constant?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":268,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L268"},"def":{"name":"constant?","return_type":"Bool","visibility":"Public","body":"@constant"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":282,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L282"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((((\"VarDeclaration<\\n\" + \" #{TAB * indent}typedef: #{@typedef.value},\\n\") + \" #{TAB * indent}var: #{@var.token.value.to_s},\\n\") + \" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\") + \" #{TAB * indent}constant?: #{@constant}\\n\") + \" #{TAB * indent}visibility: #{@visibility.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":278,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L278"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@var.token"}},{"html_id":"typedef:Token-instance-method","name":"typedef","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":265,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L265"},"def":{"name":"typedef","return_type":"Token","visibility":"Public","body":"@typedef"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":267,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L267"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}},{"html_id":"var:Var-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":266,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L266"},"def":{"name":"var","return_type":"Var","visibility":"Public","body":"@var"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":269,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L269"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/VectorLiteral","path":"Cosmo/AST/Expression/VectorLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::VectorLiteral","name":"VectorLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":436,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L436"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(values:Array(Cosmo::AST::Expression::Base),token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"::Array(::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(values : Array(Cosmo::AST::Expression::Base), token : Cosmo::Token)","args_html":"(values : Array(Cosmo::AST::Expression::Base), token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":440,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L440"},"def":{"name":"new","args":[{"name":"values","external_name":"values","restriction":"::Array(::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(values, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":442,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/expression_nodes.cr#L442"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_vector_literal_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
It yields itself for any node, but if it's a Statement::ExpressionList, then it returns the first node of the ExpressionList statement
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":21,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L21"},"def":{"name":"single_expression","return_type":"Node","visibility":"Public","body":"single_expression? || self"}},{"html_id":"single_expression?:Node|Nil-instance-method","name":"single_expression?","doc":"It yields `nil` always for any regular node.\n(It is overridden by `ExpressionList` to implement `#single_expression`.)","summary":"
It yields nil always for any regular node.
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":27,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L27"},"def":{"name":"single_expression?","return_type":"Node | ::Nil","visibility":"Public","body":"nil"}},{"html_id":"start_location:Location|Nil-instance-method","name":"start_location","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":12,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L12"},"def":{"name":"start_location","return_type":"Location | ::Nil","visibility":"Public","body":"@start_location"}},{"html_id":"start_location=(start_location:Location|Nil)-instance-method","name":"start_location=","abstract":false,"args":[{"name":"start_location","external_name":"start_location","restriction":"Location | ::Nil"}],"args_string":"(start_location : Location | Nil)","args_html":"(start_location : Location | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":12,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L12"},"def":{"name":"start_location=","args":[{"name":"start_location","external_name":"start_location","restriction":"Location | ::Nil"}],"visibility":"Public","body":"@start_location = start_location"}},{"html_id":"token:Token-instance-method","name":"token","abstract":true,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":16,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L16"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":""}},{"html_id":"visibility:Cosmo::AST::Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":14,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L14"},"def":{"name":"visibility","visibility":"Public","body":"@visibility"}},{"html_id":"visibility=(visibility:Cosmo::AST::Visibility)-instance-method","name":"visibility=","abstract":false,"args":[{"name":"visibility","external_name":"visibility","restriction":"::Cosmo::AST::Visibility"}],"args_string":"(visibility : Cosmo::AST::Visibility)","args_html":"(visibility : Cosmo::AST::Visibility)","location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":14,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L14"},"def":{"name":"visibility=","args":[{"name":"visibility","external_name":"visibility","restriction":"::Cosmo::AST::Visibility"}],"visibility":"Public","body":"@visibility = visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement","path":"Cosmo/AST/Statement.html","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement","abstract":false,"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"},"types":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","path":"Cosmo/AST/Statement/Base.html","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base","abstract":true,"superclass":{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":19,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L19"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/AST/Statement/Block","kind":"class","full_name":"Cosmo::AST::Statement::Block","name":"Block"},{"html_id":"Cosmo/Cosmo/AST/Statement/Break","kind":"class","full_name":"Cosmo::AST::Statement::Break","name":"Break"},{"html_id":"Cosmo/Cosmo/AST/Statement/Case","kind":"class","full_name":"Cosmo::AST::Statement::Case","name":"Case"},{"html_id":"Cosmo/Cosmo/AST/Statement/ClassDef","kind":"class","full_name":"Cosmo::AST::Statement::ClassDef","name":"ClassDef"},{"html_id":"Cosmo/Cosmo/AST/Statement/Every","kind":"class","full_name":"Cosmo::AST::Statement::Every","name":"Every"},{"html_id":"Cosmo/Cosmo/AST/Statement/FunctionDef","kind":"class","full_name":"Cosmo::AST::Statement::FunctionDef","name":"FunctionDef"},{"html_id":"Cosmo/Cosmo/AST/Statement/If","kind":"class","full_name":"Cosmo::AST::Statement::If","name":"If"},{"html_id":"Cosmo/Cosmo/AST/Statement/Next","kind":"class","full_name":"Cosmo::AST::Statement::Next","name":"Next"},{"html_id":"Cosmo/Cosmo/AST/Statement/Return","kind":"class","full_name":"Cosmo::AST::Statement::Return","name":"Return"},{"html_id":"Cosmo/Cosmo/AST/Statement/SingleExpression","kind":"class","full_name":"Cosmo::AST::Statement::SingleExpression","name":"SingleExpression"},{"html_id":"Cosmo/Cosmo/AST/Statement/Throw","kind":"class","full_name":"Cosmo::AST::Statement::Throw","name":"Throw"},{"html_id":"Cosmo/Cosmo/AST/Statement/Unless","kind":"class","full_name":"Cosmo::AST::Statement::Unless","name":"Unless"},{"html_id":"Cosmo/Cosmo/AST/Statement/Until","kind":"class","full_name":"Cosmo::AST::Statement::Until","name":"Until"},{"html_id":"Cosmo/Cosmo/AST/Statement/Use","kind":"class","full_name":"Cosmo::AST::Statement::Use","name":"Use"},{"html_id":"Cosmo/Cosmo/AST/Statement/While","kind":"class","full_name":"Cosmo::AST::Statement::While","name":"While"}],"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"instance_methods":[{"html_id":"accept(visitor:Visitor(R))forallR-instance-method","name":"accept","abstract":true,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) forall R","args_html":"(visitor : Visitor(R)) forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":20,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L20"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"visibility":"Public","body":""}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Block","path":"Cosmo/AST/Statement/Block.html","kind":"class","full_name":"Cosmo::AST::Statement::Block","name":"Block","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":383,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L383"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(nodes:Array(Cosmo::AST::Statement::Base)=[]ofNode)-class-method","name":"new","abstract":false,"args":[{"name":"nodes","default_value":"[] of Node","external_name":"nodes","restriction":"::Array(::Cosmo::AST::Statement::Base)"}],"args_string":"(nodes : Array(Cosmo::AST::Statement::Base) = [] of Node)","args_html":"(nodes : Array(Cosmo::AST::Statement::Base) = []ofNode)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":386,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L386"},"def":{"name":"new","args":[{"name":"nodes","default_value":"[] of Node","external_name":"nodes","restriction":"::Array(::Cosmo::AST::Statement::Base)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(nodes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](i:UInt):Node-instance-method","name":"[]","abstract":false,"args":[{"name":"i","external_name":"i","restriction":"UInt"}],"args_string":"(i : UInt) : Node","args_html":"(i : UInt) : Node","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":393,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L393"},"def":{"name":"[]","args":[{"name":"i","external_name":"i","restriction":"UInt"}],"return_type":"Node","visibility":"Public","body":"@nodes[i]"}},{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":427,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L427"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_block_stmt(self)"}},{"html_id":"empty?-instance-method","name":"empty?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":389,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L389"},"def":{"name":"empty?","visibility":"Public","body":"@nodes.empty?"}},{"html_id":"end_location:Location-instance-method","name":"end_location","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":409,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L409"},"def":{"name":"end_location","return_type":"Location","visibility":"Public","body":"@end_location || @nodes.last?.try(&.end_location)"}},{"html_id":"first:Node-instance-method","name":"first","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":397,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L397"},"def":{"name":"first","return_type":"Node","visibility":"Public","body":"@nodes.first"}},{"html_id":"last:Node-instance-method","name":"last","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":401,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L401"},"def":{"name":"last","return_type":"Node","visibility":"Public","body":"@nodes.last"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":405,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L405"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location || @nodes.first?.try(&.location)"}},{"html_id":"nodes:Array(Base)-instance-method","name":"nodes","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":384,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L384"},"def":{"name":"nodes","return_type":"Array(Base)","visibility":"Public","body":"@nodes"}},{"html_id":"single_expression?:Expression::Base|Nil-instance-method","name":"single_expression?","doc":"It yields first node if this holds only one node, or yields `nil`.","summary":"
It yields first node if this holds only one node, or yields nil.
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":414,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L414"},"def":{"name":"single_expression?","return_type":"Expression::Base | ::Nil","visibility":"Public","body":"if @nodes.size == 1\n expr = @nodes.first.single_expression\n if expr.is_a?(Statement::SingleExpression)\n expr.expression\n else\n expr.as(Expression::Base)\n end\nelse\n nil\nend"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":435,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L435"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"Block\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":431,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L431"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@nodes.empty? ? Token.new(\"none\", Syntax::None, nil, Location.new(\"\", 0, 0)) : @nodes.first.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Break","path":"Cosmo/AST/Statement/Break.html","kind":"class","full_name":"Cosmo::AST::Statement::Break","name":"Break","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":164,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L164"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(keyword : Cosmo::Token)","args_html":"(keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":167,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L167"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":170,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L170"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_break_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":165,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L165"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":178,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L178"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Break\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":174,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L174"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Case","path":"Cosmo/AST/Statement/Case.html","kind":"class","full_name":"Cosmo::AST::Statement::Case","name":"Case","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":73,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L73"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,value:Cosmo::AST::Expression::Base,comparisons:Array(Cosmo::AST::Statement::When),else:Cosmo::AST::Statement::Base|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"comparisons","external_name":"comparisons","restriction":"::Array(::Cosmo::AST::Statement::When)"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"args_string":"(keyword : Cosmo::Token, value : Cosmo::AST::Expression::Base, comparisons : Array(Cosmo::AST::Statement::When), else : Cosmo::AST::Statement::Base | Nil)","args_html":"(keyword : Cosmo::Token, value : Cosmo::AST::Expression::Base, comparisons : Array(Cosmo::AST::Statement::When), else : Cosmo::AST::Statement::Base | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":79,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L79"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"comparisons","external_name":"comparisons","restriction":"::Array(::Cosmo::AST::Statement::When)"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, value, comparisons, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":82,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L82"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_case_stmt(self)"}},{"html_id":"comparisons:Array(When)-instance-method","name":"comparisons","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":76,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L76"},"def":{"name":"comparisons","return_type":"Array(When)","visibility":"Public","body":"@comparisons"}},{"html_id":"else:Base|Nil-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":77,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L77"},"def":{"name":"else","return_type":"Base | ::Nil","visibility":"Public","body":"@else"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":74,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L74"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":26,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L26"},"def":{"name":"body","return_type":"Block","visibility":"Public","body":"@body"}},{"html_id":"identifier:Token-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":24,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L24"},"def":{"name":"identifier","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"mixins:Array(Expression::Base)-instance-method","name":"mixins","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":29,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L29"},"def":{"name":"mixins","return_type":"Array(Expression::Base)","visibility":"Public","body":"@mixins"}},{"html_id":"superclass:Expression::Base|Nil-instance-method","name":"superclass","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":28,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L28"},"def":{"name":"superclass","return_type":"Expression::Base | ::Nil","visibility":"Public","body":"@superclass"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":42,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L42"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"ClassDef<\\n\" + \" #{TAB * indent}identifier: #{@identifier.value.to_s},\\n\") + \" #{TAB * indent}body: #{@body.to_s(indent + 1)}\\n\") + \" #{TAB * indent}visibility: #{@visibility.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":38,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L38"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":27,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L27"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Every","path":"Cosmo/AST/Statement/Every.html","kind":"class","full_name":"Cosmo::AST::Statement::Every","name":"Every","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":183,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L183"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,var:Cosmo::AST::Expression::VarDeclaration,enumerable:Cosmo::AST::Expression::Base,block:Cosmo::AST::Statement::Base)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::VarDeclaration"},{"name":"enumerable","external_name":"enumerable","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"args_string":"(keyword : Cosmo::Token, var : Cosmo::AST::Expression::VarDeclaration, enumerable : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","args_html":"(keyword : Cosmo::Token, var : Cosmo::AST::Expression::VarDeclaration, enumerable : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":189,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L189"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::VarDeclaration"},{"name":"enumerable","external_name":"enumerable","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, var, enumerable, block)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":192,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L192"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_every_stmt(self)"}},{"html_id":"block:Base-instance-method","name":"block","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":187,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L187"},"def":{"name":"block","return_type":"Base","visibility":"Public","body":"@block"}},{"html_id":"enumerable:Expression::Base-instance-method","name":"enumerable","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":186,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L186"},"def":{"name":"enumerable","return_type":"Expression::Base","visibility":"Public","body":"@enumerable"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":184,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L184"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":200,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L200"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Every<\\n\" + \" #{TAB * indent}var: #{@var.to_s(indent + 1)},\\n\") + \" #{TAB * indent}in: #{@enumerable.to_s(indent + 1)}\\n\") + \" #{TAB * indent}do: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":196,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L196"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"var:Expression::VarDeclaration-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":185,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L185"},"def":{"name":"var","return_type":"Expression::VarDeclaration","visibility":"Public","body":"@var"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/FunctionDef","path":"Cosmo/AST/Statement/FunctionDef.html","kind":"class","full_name":"Cosmo::AST::Statement::FunctionDef","name":"FunctionDef","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":331,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L331"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(identifier:Cosmo::Token,parameters:Array(Cosmo::AST::Expression::Parameter),body:Cosmo::AST::Statement::Block,return_typedef:Cosmo::Token,visibility)-class-method","name":"new","abstract":false,"args":[{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"parameters","external_name":"parameters","restriction":"::Array(::Cosmo::AST::Expression::Parameter)"},{"name":"body","external_name":"body","restriction":"::Cosmo::AST::Statement::Block"},{"name":"return_typedef","external_name":"return_typedef","restriction":"::Cosmo::Token"},{"name":"visibility","external_name":"visibility","restriction":""}],"args_string":"(identifier : Cosmo::Token, parameters : Array(Cosmo::AST::Expression::Parameter), body : Cosmo::AST::Statement::Block, return_typedef : Cosmo::Token, visibility)","args_html":"(identifier : Cosmo::Token, parameters : Array(Cosmo::AST::Expression::Parameter), body : Cosmo::AST::Statement::Block, return_typedef : Cosmo::Token, visibility)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":338,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L338"},"def":{"name":"new","args":[{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"parameters","external_name":"parameters","restriction":"::Array(::Cosmo::AST::Expression::Parameter)"},{"name":"body","external_name":"body","restriction":"::Cosmo::AST::Statement::Block"},{"name":"return_typedef","external_name":"return_typedef","restriction":"::Cosmo::Token"},{"name":"visibility","external_name":"visibility","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(identifier, parameters, body, return_typedef, visibility)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":341,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L341"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_fn_def_stmt(self)"}},{"html_id":"body:Block-instance-method","name":"body","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":334,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L334"},"def":{"name":"body","return_type":"Block","visibility":"Public","body":"@body"}},{"html_id":"identifier:Token-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":332,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L332"},"def":{"name":"identifier","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"parameters:Array(Expression::Parameter)-instance-method","name":"parameters","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":333,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L333"},"def":{"name":"parameters","return_type":"Array(Expression::Parameter)","visibility":"Public","body":"@parameters"}},{"html_id":"return_typedef:Token-instance-method","name":"return_typedef","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":335,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L335"},"def":{"name":"return_typedef","return_type":"Token","visibility":"Public","body":"@return_typedef"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":349,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L349"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((((((\"FunctionDef<\\n\" + \" #{TAB * indent}identifier: #{@identifier.value.to_s},\\n\") + \" #{TAB * indent}parameters: [\\n\") + \" #{TAB * indent}#{@parameters.map() do |__arg2|\n (__arg2.to_s(indent + 2)).as(String)\nend.join(\",\\n#{TAB * (indent + 2)}\")}\\n\") + \" #{TAB * indent}],\\n\") + \" #{TAB * indent}return_typedef: #{@return_typedef.value},\\n\") + \" #{TAB * indent}body: #{@body.to_s(indent + 1)}\\n\") + \" #{TAB * indent}visibility: #{@visibility.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":345,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L345"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":336,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L336"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/If","path":"Cosmo/AST/Statement/If.html","kind":"class","full_name":"Cosmo::AST::Statement::If","name":"If","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":257,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L257"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,then:Cosmo::AST::Statement::Base,else:Cosmo::AST::Statement::Base|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":263,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L263"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, then, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":266,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L266"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_if_stmt(self)"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":259,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L259"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"else:Base|Nil-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":261,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L261"},"def":{"name":"else","return_type":"Base | ::Nil","visibility":"Public","body":"@else"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":258,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L258"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"then:Base-instance-method","name":"then","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":260,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L260"},"def":{"name":"then","return_type":"Base","visibility":"Public","body":"@then"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":274,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L274"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"If<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}then: #{@then.to_s(indent + 1)},\\n\") + \" #{TAB * indent}else: #{@else.nil? ? \"none\" : @else.not_nil!.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":270,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L270"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Next","path":"Cosmo/AST/Statement/Next.html","kind":"class","full_name":"Cosmo::AST::Statement::Next","name":"Next","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":145,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L145"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(keyword : Cosmo::Token)","args_html":"(keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":148,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L148"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":151,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L151"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_next_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":146,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L146"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":159,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L159"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Next\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":155,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L155"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Return","path":"Cosmo/AST/Statement/Return.html","kind":"class","full_name":"Cosmo::AST::Statement::Return","name":"Return","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":309,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L309"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(value:Cosmo::AST::Expression::Base,keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(value : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","args_html":"(value : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":313,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L313"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":316,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L316"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_return_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":311,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L311"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":324,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L324"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"Return<\\n\" + \" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":320,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L320"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"value:Expression::Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":310,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L310"},"def":{"name":"value","return_type":"Expression::Base","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/SingleExpression","path":"Cosmo/AST/Statement/SingleExpression.html","kind":"class","full_name":"Cosmo::AST::Statement::SingleExpression","name":"SingleExpression","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":362,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L362"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(expression:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"expression","external_name":"expression","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(expression : Cosmo::AST::Expression::Base)","args_html":"(expression : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":365,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L365"},"def":{"name":"new","args":[{"name":"expression","external_name":"expression","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expression)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":368,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L368"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_single_expr_stmt(self)"}},{"html_id":"expression:Expression::Base-instance-method","name":"expression","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":363,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L363"},"def":{"name":"expression","return_type":"Expression::Base","visibility":"Public","body":"@expression"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":376,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L376"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"SingleExpression<\\n\" + \" #{TAB * indent}expression: #{@expression.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":372,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L372"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@expression.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Throw","path":"Cosmo/AST/Statement/Throw.html","kind":"class","full_name":"Cosmo::AST::Statement::Throw","name":"Throw","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":123,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L123"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(err:Cosmo::AST::Expression::Base,keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"err","external_name":"err","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(err : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","args_html":"(err : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":127,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L127"},"def":{"name":"new","args":[{"name":"err","external_name":"err","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(err, keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":130,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L130"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_throw_stmt(self)"}},{"html_id":"err:Expression::Base-instance-method","name":"err","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":124,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L124"},"def":{"name":"err","return_type":"Expression::Base","visibility":"Public","body":"@err"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":125,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L125"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":138,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L138"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"Throw<\\n\" + \" #{TAB * indent}err: #{@err.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":134,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L134"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Unless","path":"Cosmo/AST/Statement/Unless.html","kind":"class","full_name":"Cosmo::AST::Statement::Unless","name":"Unless","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":283,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L283"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,then:Cosmo::AST::Statement::Base,else:Cosmo::AST::Statement::Base|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":289,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L289"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, then, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":292,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L292"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_unless_stmt(self)"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":285,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L285"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"else:Base|Nil-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":287,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L287"},"def":{"name":"else","return_type":"Base | ::Nil","visibility":"Public","body":"@else"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":284,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L284"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"then:Base-instance-method","name":"then","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":286,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L286"},"def":{"name":"then","return_type":"Base","visibility":"Public","body":"@then"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":300,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L300"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Unless<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}then: #{@then.to_s(indent + 1)},\\n\") + \" #{TAB * indent}else: #{@else.nil? ? \"none\" : @else.not_nil!.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":296,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L296"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Until","path":"Cosmo/AST/Statement/Until.html","kind":"class","full_name":"Cosmo::AST::Statement::Until","name":"Until","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":233,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L233"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,block:Cosmo::AST::Statement::Base)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":238,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L238"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, block)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":241,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L241"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_until_stmt(self)"}},{"html_id":"block:Base-instance-method","name":"block","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":236,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L236"},"def":{"name":"block","return_type":"Base","visibility":"Public","body":"@block"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":235,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L235"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":234,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L234"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":249,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L249"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Until<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}do: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":245,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L245"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Use","path":"Cosmo/AST/Statement/Use.html","kind":"class","full_name":"Cosmo::AST::Statement::Use","name":"Use","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":101,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L101"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(module_path:Cosmo::Token,keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"module_path","external_name":"module_path","restriction":"::Cosmo::Token"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(module_path : Cosmo::Token, keyword : Cosmo::Token)","args_html":"(module_path : Cosmo::Token, keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":105,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L105"},"def":{"name":"new","args":[{"name":"module_path","external_name":"module_path","restriction":"::Cosmo::Token"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(module_path, keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":108,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L108"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_use_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":103,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L103"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"module_path:Token-instance-method","name":"module_path","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":102,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L102"},"def":{"name":"module_path","return_type":"Token","visibility":"Public","body":"@module_path"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":63,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L63"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((((\"When<\\n\" + \" #{TAB * indent}conditions: [\\n\") + \" #{TAB * indent}#{@conditions.map() do |__arg0|\n (__arg0.to_s(indent + 2)).as(String)\nend.join(\",\\n#{TAB * (indent + 2)}\")}\\n\") + \" #{TAB * indent}],\\n\") + \" #{TAB * indent}block: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":59,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L59"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/While","path":"Cosmo/AST/Statement/While.html","kind":"class","full_name":"Cosmo::AST::Statement::While","name":"While","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":209,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L209"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,block:Cosmo::AST::Statement::Base)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":214,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L214"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, block)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":217,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L217"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_while_stmt(self)"}},{"html_id":"block:Base-instance-method","name":"block","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":212,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L212"},"def":{"name":"block","return_type":"Base","visibility":"Public","body":"@block"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":211,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L211"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":210,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L210"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":225,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L225"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"While<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}do: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":221,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast/statement_nodes.cr#L221"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]}]},{"html_id":"Cosmo/Cosmo/AST/Visibility","path":"Cosmo/AST/Visibility.html","kind":"enum","full_name":"Cosmo::AST::Visibility","name":"Visibility","abstract":false,"ancestors":[{"html_id":"Cosmo/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"Cosmo/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"Cosmo/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L4"}],"repository_name":"Cosmo","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Public","name":"Public","value":"0"},{"id":"Protected","name":"Protected","value":"1"},{"id":"Private","name":"Private","value":"2"},{"id":"Static","name":"Static","value":"3"}],"namespace":{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"},"instance_methods":[{"html_id":"private?-instance-method","name":"private?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":7,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L7"},"def":{"name":"private?","visibility":"Public","body":"self == Private"}},{"html_id":"protected?-instance-method","name":"protected?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L6"},"def":{"name":"protected?","visibility":"Public","body":"self == Protected"}},{"html_id":"public?-instance-method","name":"public?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":5,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L5"},"def":{"name":"public?","visibility":"Public","body":"self == Public"}},{"html_id":"static?-instance-method","name":"static?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":8,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/parser/ast.cr#L8"},"def":{"name":"static?","visibility":"Public","body":"self == Static"}}]}]},{"html_id":"Cosmo/Cosmo/Callable","path":"Cosmo/Callable.html","kind":"class","full_name":"Cosmo::Callable","name":"Callable","abstract":true,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/function.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/Function","kind":"class","full_name":"Cosmo::Function","name":"Function"},{"html_id":"Cosmo/Cosmo/IntrinsicFunction","kind":"class","full_name":"Cosmo::IntrinsicFunction","name":"IntrinsicFunction"}],"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"instance_methods":[{"html_id":"arity:Range(UInt32,UInt32)-instance-method","name":"arity","abstract":true,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L3"},"def":{"name":"arity","return_type":"Range(UInt32, UInt32)","visibility":"Public","body":""}},{"html_id":"call(args:Array(ValueType)):ValueType-instance-method","name":"call","abstract":true,"args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"args_string":"(args : Array(ValueType)) : ValueType","args_html":"(args : Array(ValueType)) : ValueType","location":{"filename":"src/cosmo/runtime/function.cr","line_number":2,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L2"},"def":{"name":"call","args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"return_type":"ValueType","visibility":"Public","body":""}},{"html_id":"intrinsic?:Bool-instance-method","name":"intrinsic?","abstract":true,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L4"},"def":{"name":"intrinsic?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"to_s:String-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":true,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":5,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L5"},"def":{"name":"to_s","return_type":"String","visibility":"Public","body":""}}]},{"html_id":"Cosmo/Cosmo/Class","path":"Cosmo/Class.html","kind":"class","full_name":"Cosmo::Class","name":"Class","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/class.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/class.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(interpreter:Cosmo::Interpreter,closure:Cosmo::Scope,definition:Cosmo::AST::Statement::ClassDef)-class-method","name":"new","abstract":false,"args":[{"name":"interpreter","external_name":"interpreter","restriction":"::Cosmo::Interpreter"},{"name":"closure","external_name":"closure","restriction":"::Cosmo::Scope"},{"name":"definition","external_name":"definition","restriction":"::Cosmo::AST::Statement::ClassDef"}],"args_string":"(interpreter : Cosmo::Interpreter, closure : Cosmo::Scope, definition : Cosmo::AST::Statement::ClassDef)","args_html":"(interpreter : Cosmo::Interpreter, closure : Cosmo::Scope, definition : Cosmo::AST::Statement::ClassDef)","location":{"filename":"src/cosmo/runtime/class.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/class.cr#L6"},"def":{"name":"new","args":[{"name":"interpreter","external_name":"interpreter","restriction":"::Cosmo::Interpreter"},{"name":"closure","external_name":"closure","restriction":"::Cosmo::Scope"},{"name":"definition","external_name":"definition","restriction":"::Cosmo::AST::Statement::ClassDef"}],"visibility":"Public","body":"_ = allocate\n_.initialize(interpreter, closure, definition)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"definition:AST::Statement::ClassDef-instance-method","name":"definition","abstract":false,"location":{"filename":"src/cosmo/runtime/class.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/class.cr#L4"},"def":{"name":"definition","return_type":"AST::Statement::ClassDef","visibility":"Public","body":"@definition"}},{"html_id":"to_s:String-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"location":{"filename":"src/cosmo/runtime/class.cr","line_number":10,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/class.cr#L10"},"def":{"name":"to_s","return_type":"String","visibility":"Public","body":"\"\""}}]},{"html_id":"Cosmo/Cosmo/Function","path":"Cosmo/Function.html","kind":"class","full_name":"Cosmo::Function","name":"Function","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/Callable","kind":"class","full_name":"Cosmo::Callable","name":"Callable"},"ancestors":[{"html_id":"Cosmo/Cosmo/Callable","kind":"class","full_name":"Cosmo::Callable","name":"Callable"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/function.cr","line_number":8,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L8"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(interpreter:Cosmo::Interpreter,closure:Cosmo::Scope,definition:Cosmo::AST::Statement::FunctionDef)-class-method","name":"new","abstract":false,"args":[{"name":"interpreter","external_name":"interpreter","restriction":"::Cosmo::Interpreter"},{"name":"closure","external_name":"closure","restriction":"::Cosmo::Scope"},{"name":"definition","external_name":"definition","restriction":"::Cosmo::AST::Statement::FunctionDef"}],"args_string":"(interpreter : Cosmo::Interpreter, closure : Cosmo::Scope, definition : Cosmo::AST::Statement::FunctionDef)","args_html":"(interpreter : Cosmo::Interpreter, closure : Cosmo::Scope, definition : Cosmo::AST::Statement::FunctionDef)","location":{"filename":"src/cosmo/runtime/function.cr","line_number":14,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L14"},"def":{"name":"new","args":[{"name":"interpreter","external_name":"interpreter","restriction":"::Cosmo::Interpreter"},{"name":"closure","external_name":"closure","restriction":"::Cosmo::Scope"},{"name":"definition","external_name":"definition","restriction":"::Cosmo::AST::Statement::FunctionDef"}],"visibility":"Public","body":"_ = allocate\n_.initialize(interpreter, closure, definition)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"arity:Range(UInt32,UInt32)-instance-method","name":"arity","abstract":false,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":42,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L42"},"def":{"name":"arity","return_type":"Range(UInt32, UInt32)","visibility":"Public","body":"@non_nullable_params.size.to_u..@definition.parameters.size.to_u"}},{"html_id":"call(args:Array(ValueType)):ValueType-instance-method","name":"call","abstract":false,"args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"args_string":"(args : Array(ValueType)) : ValueType","args_html":"(args : Array(ValueType)) : ValueType","location":{"filename":"src/cosmo/runtime/function.cr","line_number":23,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L23"},"def":{"name":"call","args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"return_type":"ValueType","visibility":"Public","body":"@interpreter.set_meta(\"block_return_type\", @definition.return_typedef.value.to_s)\nscope = Scope.new(@closure)\n@definition.parameters.each_with_index do |param, i|\n value = (args[i] || (param.default_value.nil? ? nil : @interpreter.evaluate(param.default_value.not_nil!))).as(ValueType)\n scope.declare(param.typedef, param.identifier, value, const: param.const?)\nend\nresult = nil\nbegin\n result = @interpreter.execute_block(@definition.body, scope, is_fn: true)\nrescue returner : HookedExceptions::Return\n result = returner.value\nend\nresult\n"}},{"html_id":"definition:AST::Statement::FunctionDef-instance-method","name":"definition","abstract":false,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":12,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L12"},"def":{"name":"definition","return_type":"AST::Statement::FunctionDef","visibility":"Public","body":"@definition"}},{"html_id":"intrinsic?:Bool-instance-method","name":"intrinsic?","abstract":false,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":46,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/function.cr#L46"},"def":{"name":"intrinsic?","return_type":"Bool","visibility":"Public","body":"false"}},{"html_id":"to_s:String-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
"}],"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"class_methods":[{"html_id":"class_visibility?(s:String)-class-method","name":"class_visibility?","doc":"Returns whether or not `s` is a class vibility keyword","summary":"
Returns whether or not s is a class vibility keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String)","args_html":"(s : String)","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":36,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/keywords.cr#L36"},"def":{"name":"class_visibility?","args":[{"name":"s","external_name":"s","restriction":"String"}],"visibility":"Public","body":"CLASS_VISIBILITY_KEYWORDS.includes?(s)"}},{"html_id":"get_syntax(s:String):Syntax-class-method","name":"get_syntax","doc":"Returns the syntax type of `s` if it is a regular keyword","summary":"
Returns the syntax type of s if it is a regular keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String) : Syntax","args_html":"(s : String) : Syntax","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":51,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/keywords.cr#L51"},"def":{"name":"get_syntax","args":[{"name":"s","external_name":"s","restriction":"String"}],"return_type":"Syntax","visibility":"Public","body":"KEYWORDS.fetch(s) do\n raise(\"Invalid keyword #{s}\")\nend"}},{"html_id":"keyword?(s:String)-class-method","name":"keyword?","doc":"Returns whether or not `s` is a regular keyword","summary":"
Returns whether or not s is a regular keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String)","args_html":"(s : String)","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":46,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/keywords.cr#L46"},"def":{"name":"keyword?","args":[{"name":"s","external_name":"s","restriction":"String"}],"visibility":"Public","body":"KEYWORDS.has_key?(s)"}},{"html_id":"type?(s:String)-class-method","name":"type?","doc":"Returns whether or not `s` is a type keyword","summary":"
Returns whether or not s is a type keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String)","args_html":"(s : String)","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":41,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/keywords.cr#L41"},"def":{"name":"type?","args":[{"name":"s","external_name":"s","restriction":"String"}],"visibility":"Public","body":"TYPE_KEYWORDS.includes?(s)"}}]},{"html_id":"Cosmo/Cosmo/Lexer","path":"Cosmo/Lexer.html","kind":"class","full_name":"Cosmo::Lexer","name":"Lexer","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/lexer.cr","line_number":9,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer.cr#L9"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(source:String,file_path:String,run_benchmarks:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"String"},{"name":"file_path","external_name":"file_path","restriction":"String"},{"name":"run_benchmarks","external_name":"run_benchmarks","restriction":"Bool"}],"args_string":"(source : String, file_path : String, run_benchmarks : Bool)","args_html":"(source : String, file_path : String, run_benchmarks : Bool)","location":{"filename":"src/cosmo/syntax/lexer.cr","line_number":17,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer.cr#L17"},"def":{"name":"new","args":[{"name":"source","external_name":"source","restriction":"String"},{"name":"file_path","external_name":"file_path","restriction":"String"},{"name":"run_benchmarks","external_name":"run_benchmarks","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(source, file_path, run_benchmarks)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"tokenize:Array(Token)-instance-method","name":"tokenize","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer.cr","line_number":20,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer.cr#L20"},"def":{"name":"tokenize","return_type":"Array(Token)","visibility":"Public","body":"start_time = Time.monotonic\nwhile !finished?\n lex\nend\nadd_token(Syntax::EOF, nil)\nend_time = Time.monotonic\nif @run_benchmarks\n puts(\"Lexer @#{@file_path} took #{get_elapsed(start_time, end_time)}.\")\nend\n@tokens\n"}}]},{"html_id":"Cosmo/Cosmo/Location","path":"Cosmo/Location.html","kind":"class","full_name":"Cosmo::Location","name":"Location","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/location.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(file_name:String,line:UInt32,position:UInt32)-class-method","name":"new","abstract":false,"args":[{"name":"file_name","external_name":"file_name","restriction":"::String"},{"name":"line","external_name":"line","restriction":"::UInt32"},{"name":"position","external_name":"position","restriction":"::UInt32"}],"args_string":"(file_name : String, line : UInt32, position : UInt32)","args_html":"(file_name : String, line : UInt32, position : UInt32)","location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/location.cr#L6"},"def":{"name":"new","args":[{"name":"file_name","external_name":"file_name","restriction":"::String"},{"name":"line","external_name":"line","restriction":"::UInt32"},{"name":"position","external_name":"position","restriction":"::UInt32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(file_name, line, position)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"between?(min:UInt32,max:UInt32)-instance-method","name":"between?","abstract":false,"args":[{"name":"min","external_name":"min","restriction":"UInt32"},{"name":"max","external_name":"max","restriction":"UInt32"}],"args_string":"(min : UInt32, max : UInt32)","args_html":"(min : UInt32, max : UInt32)","location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":9,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/location.cr#L9"},"def":{"name":"between?","args":[{"name":"min","external_name":"min","restriction":"UInt32"},{"name":"max","external_name":"max","restriction":"UInt32"}],"visibility":"Public","body":"if min && max\nelse\n return false\nend\nmin <= self && self <= max\n"}},{"html_id":"directory-instance-method","name":"directory","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":14,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/location.cr#L14"},"def":{"name":"directory","visibility":"Public","body":"@file_name.try do |file_name|\n File.dirname(file_name)\nend"}},{"html_id":"file_name:String-instance-method","name":"file_name","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/location.cr#L4"},"def":{"name":"file_name","return_type":"String","visibility":"Public","body":"@file_name"}},{"html_id":"line:UInt32-instance-method","name":"line","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":2,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/location.cr#L2"},"def":{"name":"line","return_type":"UInt32","visibility":"Public","body":"@line"}},{"html_id":"position:UInt32-instance-method","name":"position","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/location.cr#L3"},"def":{"name":"position","return_type":"UInt32","visibility":"Public","body":"@position"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns true if the variable exists and is public, otherwise false
","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"Token"}],"args_string":"(token : Token) : Bool","args_html":"(token : Token) : Bool","location":{"filename":"src/cosmo/runtime/scope.cr","line_number":71,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/scope.cr#L71"},"def":{"name":"public?","args":[{"name":"token","external_name":"token","restriction":"Token"}],"return_type":"Bool","visibility":"Public","body":"ident = token.lexeme\nif @variables.has_key?(ident)\nelse\n return false\nend\n@variables[ident][:visibility] == Visibility::Public\n"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/token.cr","line_number":30,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/token.cr#L30"},"def":{"name":"to_s","visibility":"Public","body":"\"Token\""}},{"html_id":"type:Syntax-instance-method","name":"type","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/token.cr","line_number":5,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/token.cr#L5"},"def":{"name":"type","return_type":"Syntax","visibility":"Public","body":"@type"}},{"html_id":"value:LiteralType-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/token.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer/token.cr#L6"},"def":{"name":"value","return_type":"LiteralType","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/Type","path":"Cosmo/Type.html","kind":"class","full_name":"Cosmo::Type","name":"Type","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/type.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/type.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(name:String)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cosmo/runtime/type.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/type.cr#L4"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cosmo/runtime/type.cr","line_number":2,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/type.cr#L2"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"location":{"filename":"src/cosmo/runtime/type.cr","line_number":7,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/type.cr#L7"},"def":{"name":"to_s","visibility":"Public","body":"\"Type<#{name}>\""}}]},{"html_id":"Cosmo/Cosmo/TypeChecker","path":"Cosmo/TypeChecker.html","kind":"module","full_name":"Cosmo::TypeChecker","name":"TypeChecker","abstract":false,"locations":[{"filename":"src/cosmo/runtime/typechecker.cr","line_number":11,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L11"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"ALIASES","name":"ALIASES","value":"{} of String => String"},{"id":"REGISTERED","name":"REGISTERED","value":"[] of Type"},{"id":"TYPE_MAP","name":"TYPE_MAP","value":"{Int128 => \"bigint\", Int64 => \"int\", Int32 => \"int\", Int16 => \"int\", Int8 => \"int\", Float64 => \"float\", Float32 => \"float\", String => \"string\", Char => \"char\", Bool => \"bool\", Nil => \"none\", Class => \"class\", Function => \"func\", PutsIntrinsic => \"func\", Array(Int64) => \"int[]\", Array(Int32) => \"int[]\", Array(Int16) => \"int[]\", Array(Int8) => \"int[]\", Array(Float64) => \"float[]\", Array(Float32) => \"float[]\", Array(String) => \"string[]\", Array(Char) => \"char[]\", Array(Bool) => \"bool[]\", Array(Function) => \"fn[]\", Array(ValueType) => \"any[]\", Array => \"any[]\", Hash => \"Table\", Range(Int128 | Int16 | Int32 | Int64 | Int8, Int128 | Int16 | Int32 | Int64 | Int8) => \"Range\"}"}],"extended_modules":[{"html_id":"Cosmo/Cosmo/TypeChecker","kind":"module","full_name":"Cosmo::TypeChecker","name":"TypeChecker"}],"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"instance_methods":[{"html_id":"alias_type(alias_name:String,original:String):Type-instance-method","name":"alias_type","abstract":false,"args":[{"name":"alias_name","external_name":"alias_name","restriction":"String"},{"name":"original","external_name":"original","restriction":"String"}],"args_string":"(alias_name : String, original : String) : Type","args_html":"(alias_name : String, original : String) : Type","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":102,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L102"},"def":{"name":"alias_type","args":[{"name":"alias_name","external_name":"alias_name","restriction":"String"},{"name":"original","external_name":"original","restriction":"String"}],"return_type":"Type","visibility":"Public","body":"ALIASES[alias_name] = original\nregister_type(alias_name)\n"}},{"html_id":"assert(typedef:String,value:ValueType,token:Token):Nil-instance-method","name":"assert","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"value","external_name":"value","restriction":"ValueType"},{"name":"token","external_name":"token","restriction":"Token"}],"args_string":"(typedef : String, value : ValueType, token : Token) : Nil","args_html":"(typedef : String, value : ValueType, token : Token) : Nil","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":215,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L215"},"def":{"name":"assert","args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"value","external_name":"value","restriction":"ValueType"},{"name":"token","external_name":"token","restriction":"Token"}],"return_type":"Nil","visibility":"Public","body":"matches = is?(typedef, value, token)\nif typedef.ends_with?(\"[]\")\n value_type = typedef[0..-3]\n if value.is_a?(Array)\n else\n report_mismatch(typedef, value, token)\n end\n (value.as(Array)).each do |v|\n assert(value_type, v, token)\n end\nelse\n if (typedef.includes?(\"->\")) && ((typedef.split(\"->\", 2)).size == 2)\n types = typedef.split(\"->\", 2)\n key_type = types.first.strip\n value_type = types.last.strip\n if value.is_a?(Hash)\n else\n report_mismatch(typedef, value, token)\n end\n internal = cast_hash(value)\n internal.each do |k, v|\n assert(key_type, k, token)\n assert(value_type, v, token)\n end\n else\n if typedef.starts_with?(\"(\")\n ungrouped_type = typedef[1..-2]\n assert(ungrouped_type, value, token)\n else\n if matches\n else\n report_mismatch(typedef, value, token)\n end\n end\n end\nend\n"}},{"html_id":"cast(value:T):ValueTypeforallT-instance-method","name":"cast","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"T"}],"args_string":"(value : T) : ValueType forall T","args_html":"(value : T) : ValueType forall T","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":84,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L84"},"def":{"name":"cast","args":[{"name":"value","external_name":"value","restriction":"T"}],"return_type":"ValueType","visibility":"Public","body":"value.is_a?(Array) ? cast_array(value) : value.is_a?(Hash) ? cast_hash(value) : value.is_a?(Int128) && value <= Int64::MAX ? value.to_i64 : value.as(ValueType)"}},{"html_id":"cast_array(arr:Array(T)):Array(ValueType)forallT-instance-method","name":"cast_array","abstract":false,"args":[{"name":"arr","external_name":"arr","restriction":"Array(T)"}],"args_string":"(arr : Array(T)) : Array(ValueType) forall T","args_html":"(arr : Array(T)) : Array(ValueType) forall T","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":74,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L74"},"def":{"name":"cast_array","args":[{"name":"arr","external_name":"arr","restriction":"Array(T)"}],"return_type":"Array(ValueType)","visibility":"Public","body":"arr.map do |e|\n cast(e)\nend"}},{"html_id":"cast_hash(hash:Hash(K,V)):Hash(ValueType,ValueType)forallK,V-instance-method","name":"cast_hash","abstract":false,"args":[{"name":"hash","external_name":"hash","restriction":"Hash(K, V)"}],"args_string":"(hash : Hash(K, V)) : Hash(ValueType, ValueType) forall K, V","args_html":"(hash : Hash(K, V)) : Hash(ValueType, ValueType) forall K, V","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":78,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L78"},"def":{"name":"cast_hash","args":[{"name":"hash","external_name":"hash","restriction":"Hash(K, V)"}],"return_type":"Hash(ValueType, ValueType)","visibility":"Public","body":"res = {} of ValueType => ValueType\nhash.each do |k, v|\n res[cast(k)] = cast(v)\nend\nres\n"}},{"html_id":"get_mapped(t:CrystalClass):String-instance-method","name":"get_mapped","abstract":false,"args":[{"name":"t","external_name":"t","restriction":"CrystalClass"}],"args_string":"(t : CrystalClass) : String","args_html":"(t : CrystalClass) : String","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":53,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L53"},"def":{"name":"get_mapped","args":[{"name":"t","external_name":"t","restriction":"CrystalClass"}],"return_type":"String","visibility":"Public","body":"if TYPE_MAP.has_key?(t)\nelse\n raise(\"Unhandled type to map: #{t}\")\nend\nTYPE_MAP[t]\n"}},{"html_id":"get_registered_type(name:String,token:Token):Type|Nil-instance-method","name":"get_registered_type","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"token","external_name":"token","restriction":"Token"}],"args_string":"(name : String, token : Token) : Type | Nil","args_html":"(name : String, token : Token) : Type | Nil","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":131,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L131"},"def":{"name":"get_registered_type","args":[{"name":"name","external_name":"name","restriction":"String"},{"name":"token","external_name":"token","restriction":"Token"}],"return_type":"Type | ::Nil","visibility":"Public","body":"type = get_registered_type?(name, token)\nif type.nil?\n Logger.report_error(\"Could not resolve type\", \"'#{name}'\", token)\nend\ntype\n"}},{"html_id":"get_registered_type?(typedef:String,token:Token):Type|Nil-instance-method","name":"get_registered_type?","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"token","external_name":"token","restriction":"Token"}],"args_string":"(typedef : String, token : Token) : Type | Nil","args_html":"(typedef : String, token : Token) : Type | Nil","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":107,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L107"},"def":{"name":"get_registered_type?","args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"token","external_name":"token","restriction":"Token"}],"return_type":"Type | ::Nil","visibility":"Public","body":"if typedef.ends_with?(\"[]\")\n value_type = typedef[0..-3]\n if get_registered_type?(value_type, token).nil?\n else\n Type.new(typedef)\n end\nelse\n if (typedef.includes?(\"->\")) && ((typedef.split(\"->\", 2)).size == 2)\n types = typedef.split(\"->\", 2)\n key_type = types.first\n value_type = types.last\n if get_registered_type?(key_type, token).nil? && get_registered_type?(value_type, token).nil?\n else\n Type.new(typedef)\n end\n else\n if typedef.includes?(\"|\")\n types = typedef.split(\"|\")\n resolved = true\n types.each do |t|\n if get_registered_type?(t, token).nil?\n resolved = false\n break\n end\n end\n if resolved\n Type.new(typedef)\n end\n else\n REGISTERED.find do |t|\n t.name == typedef\n end\n end\n end\nend"}},{"html_id":"is?(typedef:String,value,token:Token):Bool-instance-method","name":"is?","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"value","external_name":"value","restriction":""},{"name":"token","external_name":"token","restriction":"Token"}],"args_string":"(typedef : String, value, token : Token) : Bool","args_html":"(typedef : String, value, token : Token) : Bool","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":137,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L137"},"def":{"name":"is?","args":[{"name":"typedef","external_name":"typedef","restriction":"String"},{"name":"value","external_name":"value","restriction":""},{"name":"token","external_name":"token","restriction":"Token"}],"return_type":"Bool","visibility":"Public","body":"case typedef\nwhen \"Range\"\n value.is_a?(Range)\nwhen \"class\"\n value.is_a?(Class)\nwhen \"type\"\n value.is_a?(Type)\nwhen \"func\"\n value.is_a?(Function) || value.is_a?(IntrinsicFunction)\nwhen \"bigint\"\n value.is_a?(Int)\nwhen \"int\"\n value.is_a?(Int64 | Int32 | Int16 | Int8)\nwhen \"float\"\n value.is_a?(Float)\nwhen \"bool\"\n value.is_a?(Bool)\nwhen \"string\"\n value.is_a?(String)\nwhen \"char\"\n value.is_a?(Char)\nwhen \"none\", \"void\"\n value == nil\nwhen \"any\"\n true\nelse\n matches = false\n if typedef.starts_with?(\"(\")\n ungrouped_type = typedef[1..-2]\n matches = is?(ungrouped_type, value, token)\n else\n if typedef.ends_with?(\"[]\")\n value_type = typedef[0..-3]\n matches = value.is_a?(Array)\n if value.is_a?(Array)\n (value.as(Array)).each do |v|\n matches && (matches = is?(value_type, v, token))\n end\n end\n else\n if typedef.includes?(\"|\")\n types = typedef.split(\"|\")\n types.each do |type|\n if is?(type.strip, value, token)\n matches = true\n end\n end\n else\n if (typedef.includes?(\"->\")) && ((typedef.split(\"->\", 2)).size == 2)\n types = typedef.split(\"->\", 2)\n key_type = types.first.strip\n value_type = types.last.strip\n matches = value.is_a?(Hash)\n if value.is_a?(Hash)\n (value.as(Hash)).each do |k, v|\n matches && (matches = is?(key_type, k, token))\n matches && (matches = is?(value_type, v, token))\n end\n end\n else\n if typedef.ends_with?(\"?\")\n non_nullable_type = typedef[0..-2]\n matches = is?(non_nullable_type + \"|void\", value, token)\n else\n if matches\n else\n registered = get_registered_type?(typedef, token)\n if registered.nil?\n matches = false\n else\n if ALIASES.has_key?(registered.name)\n unaliased = ALIASES[registered.name]\n matches = is?(unaliased, value, token)\n else\n matches = false\n end\n end\n end\n end\n end\n end\n end\n end\n matches\nend"}},{"html_id":"register_intrinsics-instance-method","name":"register_intrinsics","abstract":false,"location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":60,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L60"},"def":{"name":"register_intrinsics","visibility":"Public","body":"register_type(\"Range\")\nregister_type(\"type\")\nregister_type(\"class\")\nregister_type(\"func\")\nregister_type(\"bigint\")\nregister_type(\"int\")\nregister_type(\"float\")\nregister_type(\"bool\")\nregister_type(\"string\")\nregister_type(\"char\")\nregister_type(\"void\")\n"}},{"html_id":"register_type(name:String):Type-instance-method","name":"register_type","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"String"}],"args_string":"(name : String) : Type","args_html":"(name : String) : Type","location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":96,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L96"},"def":{"name":"register_type","args":[{"name":"name","external_name":"name","restriction":"String"}],"return_type":"Type","visibility":"Public","body":"type = Type.new(name)\nREGISTERED << type\ntype\n"}},{"html_id":"reset-instance-method","name":"reset","abstract":false,"location":{"filename":"src/cosmo/runtime/typechecker.cr","line_number":90,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L90"},"def":{"name":"reset","visibility":"Public","body":"ALIASES.clear\nREGISTERED.clear\nregister_intrinsics\n"}}]},{"html_id":"Cosmo/Cosmo/ValueType","path":"Cosmo/ValueType.html","kind":"alias","full_name":"Cosmo::ValueType","name":"ValueType","abstract":false,"locations":[{"filename":"src/cosmo/runtime/typechecker.cr","line_number":8,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/typechecker.cr#L8"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":true,"aliased":"(Array(Cosmo::ValueType) | Bool | Char | Cosmo::Callable | Cosmo::Class | Cosmo::Type | Float32 | Float64 | Hash(Cosmo::ValueType, Cosmo::ValueType) | Int128 | Int16 | Int32 | Int64 | Int8 | Range(Int128 | Int16 | Int32 | Int64 | Int8, Int128 | Int16 | Int32 | Int64 | Int8) | String | Nil)","aliased_html":"Array(Cosmo::ValueType) | Bool | Char | Cosmo::Callable | Cosmo::Class | Cosmo::Type | Float32 | Float64 | Hash(Cosmo::ValueType, Cosmo::ValueType) | Int128 | Int16 | Int32 | Int64 | Int8 | Range(Int128 | Int16 | Int32 | Int64 | Int8, Int128 | Int16 | Int32 | Int64 | Int8) | String | Nil","const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"}}]},{"html_id":"Cosmo/FnType","path":"FnType.html","kind":"enum","full_name":"FnType","name":"FnType","abstract":false,"ancestors":[{"html_id":"Cosmo/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"Cosmo/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"Cosmo/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/resolver.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/resolver.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"None","name":"None","value":"0"},{"id":"Fn","name":"Fn","value":"1"}],"instance_methods":[{"html_id":"fn?-instance-method","name":"fn?","abstract":false,"location":{"filename":"src/cosmo/runtime/resolver.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/resolver.cr#L3"},"def":{"name":"fn?","visibility":"Public","body":"self == Fn"}},{"html_id":"none?-instance-method","name":"none?","abstract":false,"location":{"filename":"src/cosmo/runtime/resolver.cr","line_number":2,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/runtime/resolver.cr#L2"},"def":{"name":"none?","visibility":"Public","body":"self == None"}}]},{"html_id":"Cosmo/LiteralType","path":"LiteralType.html","kind":"alias","full_name":"LiteralType","name":"LiteralType","abstract":false,"locations":[{"filename":"src/cosmo/syntax/lexer.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/3225f20804ff8554ff18dc9cee49916f4e4d41ed/src/cosmo/syntax/lexer.cr#L4"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":true,"aliased":"(Bool | Char | Float32 | Float64 | Int128 | Int16 | Int32 | Int64 | Int8 | String | Nil)","aliased_html":"Bool | Char | Float32 | Float64 | Int128 | Int16 | Int32 | Int64 | Int8 | String | Nil","const":false}]}})
\ No newline at end of file
+crystal_doc_search_index_callback({"repository_name":"Cosmo","body":"\n# Cosmo\n\nCosmo is a statically-typed programming language written in pure Crystal. \nWe have an [extension for VS code](https://marketplace.visualstudio.com/items?itemName=cosmo.vscode-cosmo) ([source](https://github.com/R-unic/vscode-cosmo)), however it currently only features syntax highlighting.\n\n## Things I Gotta Do\n\n- Enums\n- Throw when defining an already-defined class\n- `uint` type\n- String interpolation literals\n- Allow \"!\" character identifiers for macros\n- Stack trace\n- Package manager\n- Performance boosts lol\n * Parser\n * Interpreter (!!)\n- Multiple assignment\n- Somehow typecheck blocks before execution\n- Fix weird expression parsing (`[0].123` evaluates to 0.123??)\n- Literal wrapper classes (vector, table) for utility methods (filter, map, etc)\n- Interfaces\n- Classes\n * single inheritance\n * mixins\n- Better type system\n * generics\n * casting\n * intersections\n\n## Things I Might Do\n\n- Make declarations immutable by default and replace `const` with `mut`\n- Make into a VM or compiler\n- C bindings\n\n## Installation\n\n1. Install [Crystal](https://crystal-lang.org/install/).\n2. Run `sudo make install`.\n3. Assert everything is working by running `cosmo -h`\n\n## Contributing\n\n1. Fork it ()\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Test your code (`make test`)\n5. Push to the branch (`make publish`)\n6. Create a new Pull Request\n\n## Contributors\n\n- [R-unic](https://github.com/R-unic) - creator and maintainer\n","program":{"html_id":"Cosmo/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"ancestors":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"locations":[],"repository_name":"Cosmo","program":true,"enum":false,"alias":false,"const":false,"constants":[{"id":"MAX_INTRINSIC_PARAMS","name":"MAX_INTRINSIC_PARAMS","value":"255"},{"id":"TAB","name":"TAB","value":"\" \""}],"included_modules":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"extended_modules":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"class_methods":[{"html_id":"get_elapsed(start:Time::Span,finish:Time::Span):String-class-method","name":"get_elapsed","abstract":false,"args":[{"name":"start","external_name":"start","restriction":"Time::Span"},{"name":"finish","external_name":"finish","restriction":"Time::Span"}],"args_string":"(start : Time::Span, finish : Time::Span) : String","args_html":"(start : Time::Span, finish : Time::Span) : String","location":{"filename":"src/util.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/util.cr#L4"},"def":{"name":"get_elapsed","args":[{"name":"start","external_name":"start","restriction":"Time::Span"},{"name":"finish","external_name":"finish","restriction":"Time::Span"}],"return_type":"String","visibility":"Public","body":"span = finish - start\nms = span.total_milliseconds.round(5)\nif ms > 1000\n return \"#{(ms / 1000).round(2)} seconds\"\nend\n\"#{ms}ms\"\n"}},{"html_id":"get_shard:YAML::Any-class-method","name":"get_shard","doc":"Returns `shard.yml` as a `YAML::Any`","summary":"
Returns shard.yml as a YAML::Any
","abstract":false,"location":{"filename":"src/util.cr","line_number":12,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/util.cr#L12"},"def":{"name":"get_shard","return_type":"YAML::Any","visibility":"Public","body":"raw_yaml = File.read(File.join(File.dirname(\"/home/runic/Dev/crystal/cosmo/src/util.cr\"), \"..\", \"shard.yml\"))\nYAML.parse(raw_yaml)\n"}}],"types":[{"html_id":"Cosmo/Cosmo","path":"Cosmo.html","kind":"module","full_name":"Cosmo","name":"Cosmo","abstract":false,"locations":[{"filename":"src/cosmo.cr","line_number":7,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo.cr#L7"},{"filename":"src/cosmo/logger.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/logger.cr#L1"},{"filename":"src/cosmo/runtime/intrinsic/global.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/intrinsic/global.cr#L3"},{"filename":"src/cosmo/runtime/typechecker.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/typechecker.cr#L6"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"constants":[{"id":"Version","name":"Version","value":"\"v\" + get_shard[\"version\"].to_s"}],"extended_modules":[{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"}],"instance_methods":[{"html_id":"read_file(path:String)-instance-method","name":"read_file","doc":"Reads a file at `path` and returns it's contents","summary":"
","abstract":false,"location":{"filename":"src/cosmo.cr","line_number":77,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo.cr#L77"},"def":{"name":"run_repl","visibility":"Public","body":"puts(\"Welcome to the #{rainbow(\"Cosmo\")} REPL\")\nloop do\n line = read_line\n if line.nil?\n break\n end\n result = read_source(line, file_path: \"repl\")\n puts(result.is_a?(Hash) ? Stringify.hashmap(result.as(Hash(ValueType, ValueType))) : result.to_s)\nend\n"}}],"types":[{"html_id":"Cosmo/Cosmo/AST","path":"Cosmo/AST.html","kind":"module","full_name":"Cosmo::AST","name":"AST","abstract":false,"locations":[{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L3"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"including_types":[{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"}],"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"types":[{"html_id":"Cosmo/Cosmo/AST/Expression","path":"Cosmo/AST/Expression.html","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression","abstract":false,"ancestors":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"included_modules":[{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"}],"namespace":{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"},"types":[{"html_id":"Cosmo/Cosmo/AST/Expression/Access","path":"Cosmo/AST/Expression/Access.html","kind":"class","full_name":"Cosmo::AST::Expression::Access","name":"Access","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":77,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L77"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(object:Cosmo::AST::Expression::Base,key:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::Token"}],"args_string":"(object : Cosmo::AST::Expression::Base, key : Cosmo::Token)","args_html":"(object : Cosmo::AST::Expression::Base, key : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":81,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L81"},"def":{"name":"new","args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(object, key)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":84,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L84"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_access_expr(self)"}},{"html_id":"key:Token-instance-method","name":"key","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":79,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L79"},"def":{"name":"key","return_type":"Token","visibility":"Public","body":"@key"}},{"html_id":"object:Base-instance-method","name":"object","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":78,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L78"},"def":{"name":"object","return_type":"Base","visibility":"Public","body":"@object"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":92,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L92"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Access<\\n\" + \" #{TAB * indent}object: #{@object.to_s(indent + 1)},\\n\") + \" #{TAB * indent}key: #{@key.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":88,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L88"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@object.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","path":"Cosmo/AST/Expression/Base.html","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base","abstract":true,"superclass":{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":22,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L22"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/AST/Expression/Access","kind":"class","full_name":"Cosmo::AST::Expression::Access","name":"Access"},{"html_id":"Cosmo/Cosmo/AST/Expression/BinaryOp","kind":"class","full_name":"Cosmo::AST::Expression::BinaryOp","name":"BinaryOp"},{"html_id":"Cosmo/Cosmo/AST/Expression/CompoundAssignment","kind":"class","full_name":"Cosmo::AST::Expression::CompoundAssignment","name":"CompoundAssignment"},{"html_id":"Cosmo/Cosmo/AST/Expression/FunctionCall","kind":"class","full_name":"Cosmo::AST::Expression::FunctionCall","name":"FunctionCall"},{"html_id":"Cosmo/Cosmo/AST/Expression/Index","kind":"class","full_name":"Cosmo::AST::Expression::Index","name":"Index"},{"html_id":"Cosmo/Cosmo/AST/Expression/Is","kind":"class","full_name":"Cosmo::AST::Expression::Is","name":"Is"},{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/New","kind":"class","full_name":"Cosmo::AST::Expression::New","name":"New"},{"html_id":"Cosmo/Cosmo/AST/Expression/Parameter","kind":"class","full_name":"Cosmo::AST::Expression::Parameter","name":"Parameter"},{"html_id":"Cosmo/Cosmo/AST/Expression/PropertyAssignment","kind":"class","full_name":"Cosmo::AST::Expression::PropertyAssignment","name":"PropertyAssignment"},{"html_id":"Cosmo/Cosmo/AST/Expression/RangeLiteral","kind":"class","full_name":"Cosmo::AST::Expression::RangeLiteral","name":"RangeLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/TableLiteral","kind":"class","full_name":"Cosmo::AST::Expression::TableLiteral","name":"TableLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/TernaryOp","kind":"class","full_name":"Cosmo::AST::Expression::TernaryOp","name":"TernaryOp"},{"html_id":"Cosmo/Cosmo/AST/Expression/This","kind":"class","full_name":"Cosmo::AST::Expression::This","name":"This"},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeAlias","kind":"class","full_name":"Cosmo::AST::Expression::TypeAlias","name":"TypeAlias"},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeRef","kind":"class","full_name":"Cosmo::AST::Expression::TypeRef","name":"TypeRef"},{"html_id":"Cosmo/Cosmo/AST/Expression/UnaryOp","kind":"class","full_name":"Cosmo::AST::Expression::UnaryOp","name":"UnaryOp"},{"html_id":"Cosmo/Cosmo/AST/Expression/Var","kind":"class","full_name":"Cosmo::AST::Expression::Var","name":"Var"},{"html_id":"Cosmo/Cosmo/AST/Expression/VarAssignment","kind":"class","full_name":"Cosmo::AST::Expression::VarAssignment","name":"VarAssignment"},{"html_id":"Cosmo/Cosmo/AST/Expression/VarDeclaration","kind":"class","full_name":"Cosmo::AST::Expression::VarDeclaration","name":"VarDeclaration"},{"html_id":"Cosmo/Cosmo/AST/Expression/VectorLiteral","kind":"class","full_name":"Cosmo::AST::Expression::VectorLiteral","name":"VectorLiteral"}],"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"instance_methods":[{"html_id":"accept(visitor:Visitor(R))forallR-instance-method","name":"accept","abstract":true,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) forall R","args_html":"(visitor : Visitor(R)) forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":23,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L23"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"visibility":"Public","body":""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/BigIntLiteral","path":"Cosmo/AST/Expression/BigIntLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::BigIntLiteral","name":"BigIntLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":500,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L500"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Int128,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Int128"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Int128, token)","args_html":"(value : Int128, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":501,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L501"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Int128"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":502,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L502"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/BinaryOp","path":"Cosmo/AST/Expression/BinaryOp.html","kind":"class","full_name":"Cosmo::AST::Expression::BinaryOp","name":"BinaryOp","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":332,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L332"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(left:Cosmo::AST::Expression::Base,operator:Cosmo::Token,right:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"left","external_name":"left","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"right","external_name":"right","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(left : Cosmo::AST::Expression::Base, operator : Cosmo::Token, right : Cosmo::AST::Expression::Base)","args_html":"(left : Cosmo::AST::Expression::Base, operator : Cosmo::Token, right : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":337,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L337"},"def":{"name":"new","args":[{"name":"left","external_name":"left","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"right","external_name":"right","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(left, operator, right)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":340,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L340"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_binary_op_expr(self)"}},{"html_id":"left:Base-instance-method","name":"left","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":333,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L333"},"def":{"name":"left","return_type":"Base","visibility":"Public","body":"@left"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":334,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L334"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"right:Base-instance-method","name":"right","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":335,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L335"},"def":{"name":"right","return_type":"Base","visibility":"Public","body":"@right"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":348,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L348"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Binary<\\n\" + \" #{TAB * indent}left: #{@left.to_s(indent + 1)},\\n\") + \" #{TAB * indent}operator: #{@operator.to_s},\\n\") + \" #{TAB * indent}right: #{@right.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":344,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L344"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@left.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/BooleanLiteral","path":"Cosmo/AST/Expression/BooleanLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::BooleanLiteral","name":"BooleanLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":521,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L521"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Bool,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Bool"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Bool, token)","args_html":"(value : Bool, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":522,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L522"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Bool"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":523,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L523"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/CharLiteral","path":"Cosmo/AST/Expression/CharLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::CharLiteral","name":"CharLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":493,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L493"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Char,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Char"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Char, token)","args_html":"(value : Char, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":494,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L494"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Char"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":495,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L495"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<'#{@value}'>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/CompoundAssignment","path":"Cosmo/AST/Expression/CompoundAssignment.html","kind":"class","full_name":"Cosmo::AST::Expression::CompoundAssignment","name":"CompoundAssignment","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":240,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L240"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(name:Cosmo::AST::Expression::Base,operator:Cosmo::Token,value:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(name : Cosmo::AST::Expression::Base, operator : Cosmo::Token, value : Cosmo::AST::Expression::Base)","args_html":"(name : Cosmo::AST::Expression::Base, operator : Cosmo::Token, value : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":245,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L245"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name, operator, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":248,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L248"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_compound_assignment_expr(self)"}},{"html_id":"name:Var|Index|Access-instance-method","name":"name","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":241,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L241"},"def":{"name":"name","return_type":"Var | Index | Access","visibility":"Public","body":"@name"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":242,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L242"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":256,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L256"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"CompoundAssignment<\\n\" + \" #{TAB * indent}name: #{@name.to_s(indent + 1)},\\n\") + \" #{TAB * indent}operator: #{@operator.to_s},\\n\") + \" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":252,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L252"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":243,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L243"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/FloatLiteral","path":"Cosmo/AST/Expression/FloatLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::FloatLiteral","name":"FloatLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":514,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L514"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Float64|Float32|Float16|Float8,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Float64 | Float32 | Float16 | Float8"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Float64 | Float32 | Float16 | Float8, token)","args_html":"(value : Float64 | Float32 | Float16 | Float8, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":515,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L515"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Float64 | Float32 | Float16 | Float8"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":516,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L516"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/FunctionCall","path":"Cosmo/AST/Expression/FunctionCall.html","kind":"class","full_name":"Cosmo::AST::Expression::FunctionCall","name":"FunctionCall","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":190,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L190"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(callee:Cosmo::AST::Expression::Base,arguments:Array(Cosmo::AST::Expression::Base))-class-method","name":"new","abstract":false,"args":[{"name":"callee","external_name":"callee","restriction":"::Cosmo::AST::Expression::Base"},{"name":"arguments","external_name":"arguments","restriction":"::Array(::Cosmo::AST::Expression::Base)"}],"args_string":"(callee : Cosmo::AST::Expression::Base, arguments : Array(Cosmo::AST::Expression::Base))","args_html":"(callee : Cosmo::AST::Expression::Base, arguments : Array(Cosmo::AST::Expression::Base))","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":194,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L194"},"def":{"name":"new","args":[{"name":"callee","external_name":"callee","restriction":"::Cosmo::AST::Expression::Base"},{"name":"arguments","external_name":"arguments","restriction":"::Array(::Cosmo::AST::Expression::Base)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(callee, arguments)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":197,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L197"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_fn_call_expr(self)"}},{"html_id":"arguments:Array(Base)-instance-method","name":"arguments","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":192,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L192"},"def":{"name":"arguments","return_type":"Array(Base)","visibility":"Public","body":"@arguments"}},{"html_id":"callee:Base-instance-method","name":"callee","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":191,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L191"},"def":{"name":"callee","return_type":"Base","visibility":"Public","body":"@callee"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":205,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L205"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((((\"FunctionCall<\\n\" + \" #{TAB * indent}var: #{@callee.to_s(indent + 1)},\\n\") + \" #{TAB * indent}arguments: [\\n\") + \" #{TAB * indent}#{@arguments.map(&.to_s(indent + 2)).join(\",\\n#{TAB * (indent + 2)}\")}\\n\") + \" #{TAB * indent}]\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":201,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L201"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@callee.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Index","path":"Cosmo/AST/Expression/Index.html","kind":"class","full_name":"Cosmo::AST::Expression::Index","name":"Index","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":100,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L100"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(object:Cosmo::AST::Expression::Base,key:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(object : Cosmo::AST::Expression::Base, key : Cosmo::AST::Expression::Base)","args_html":"(object : Cosmo::AST::Expression::Base, key : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":104,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L104"},"def":{"name":"new","args":[{"name":"object","external_name":"object","restriction":"::Cosmo::AST::Expression::Base"},{"name":"key","external_name":"key","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(object, key)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":107,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L107"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_index_expr(self)"}},{"html_id":"key:Base-instance-method","name":"key","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":102,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L102"},"def":{"name":"key","return_type":"Base","visibility":"Public","body":"@key"}},{"html_id":"object:Base-instance-method","name":"object","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":101,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L101"},"def":{"name":"object","return_type":"Base","visibility":"Public","body":"@object"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":115,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L115"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Index<\\n\" + \" #{TAB * indent}object: #{@object.to_s(indent + 1)},\\n\") + \" #{TAB * indent}key: #{@key.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":111,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L111"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@object.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/IntLiteral","path":"Cosmo/AST/Expression/IntLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::IntLiteral","name":"IntLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":507,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L507"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Int64|Int32|Int16|Int8,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Int64 | Int32 | Int16 | Int8"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Int64 | Int32 | Int16 | Int8, token)","args_html":"(value : Int64 | Int32 | Int16 | Int8, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":508,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L508"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Int64 | Int32 | Int16 | Int8"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":509,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L509"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<#{@value}>\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Is","path":"Cosmo/AST/Expression/Is.html","kind":"class","full_name":"Cosmo::AST::Expression::Is","name":"Is","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":123,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L123"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Cosmo::AST::Expression::Base,type:Cosmo::AST::Expression::TypeRef)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"type","external_name":"type","restriction":"::Cosmo::AST::Expression::TypeRef"}],"args_string":"(value : Cosmo::AST::Expression::Base, type : Cosmo::AST::Expression::TypeRef)","args_html":"(value : Cosmo::AST::Expression::Base, type : Cosmo::AST::Expression::TypeRef)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":127,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L127"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"type","external_name":"type","restriction":"::Cosmo::AST::Expression::TypeRef"}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, type)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":130,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L130"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_is_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":138,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L138"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Is<\\n\" + \" #{TAB * indent}value: #{@value.to_s(indent + 1)},\\n\") + \" #{TAB * indent}type: #{@type.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":134,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L134"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@value.token"}},{"html_id":"type:TypeRef-instance-method","name":"type","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":125,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L125"},"def":{"name":"type","return_type":"TypeRef","visibility":"Public","body":"@type"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":124,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L124"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","path":"Cosmo/AST/Expression/Literal.html","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal","abstract":true,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":412,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L412"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/AST/Expression/BigIntLiteral","kind":"class","full_name":"Cosmo::AST::Expression::BigIntLiteral","name":"BigIntLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/BooleanLiteral","kind":"class","full_name":"Cosmo::AST::Expression::BooleanLiteral","name":"BooleanLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/CharLiteral","kind":"class","full_name":"Cosmo::AST::Expression::CharLiteral","name":"CharLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/FloatLiteral","kind":"class","full_name":"Cosmo::AST::Expression::FloatLiteral","name":"FloatLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/IntLiteral","kind":"class","full_name":"Cosmo::AST::Expression::IntLiteral","name":"IntLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/NoneLiteral","kind":"class","full_name":"Cosmo::AST::Expression::NoneLiteral","name":"NoneLiteral"},{"html_id":"Cosmo/Cosmo/AST/Expression/StringLiteral","kind":"class","full_name":"Cosmo::AST::Expression::StringLiteral","name":"StringLiteral"}],"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Bool|Char|Float32|Float64|Int128|Int16|Int32|Int64|Int8|String|Nil,token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"::Bool | ::Char | ::Float32 | ::Float64 | ::Int128 | ::Int16 | ::Int32 | ::Int64 | ::Int8 | ::String | ::Nil"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(value : Bool | Char | Float32 | Float64 | Int128 | Int16 | Int32 | Int64 | Int8 | String | Nil, token : Cosmo::Token)","args_html":"(value : Bool | Char | Float32 | Float64 | Int128 | Int16 | Int32 | Int64 | Int8 | String | Nil, token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":416,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L416"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"::Bool | ::Char | ::Float32 | ::Float64 | ::Int128 | ::Int16 | ::Int32 | ::Int64 | ::Int8 | ::String | ::Nil"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":418,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L418"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_literal_expr(self)"}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":413,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L413"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}},{"html_id":"value:LiteralType-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":414,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L414"},"def":{"name":"value","return_type":"LiteralType","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/New","path":"Cosmo/AST/Expression/New.html","kind":"class","full_name":"Cosmo::AST::Expression::New","name":"New","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":373,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L373"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(token:Cosmo::Token,operand:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"},{"name":"operand","external_name":"operand","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(token : Cosmo::Token, operand : Cosmo::AST::Expression::Base)","args_html":"(token : Cosmo::Token, operand : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":377,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L377"},"def":{"name":"new","args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"},{"name":"operand","external_name":"operand","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(token, operand)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":380,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L380"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_new_expr(self)"}},{"html_id":"operand:Var|FunctionCall-instance-method","name":"operand","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":375,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L375"},"def":{"name":"operand","return_type":"Var | FunctionCall","visibility":"Public","body":"@operand"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":384,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L384"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"New\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":374,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L374"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/NoneLiteral","path":"Cosmo/AST/Expression/NoneLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::NoneLiteral","name":"NoneLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":528,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L528"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:Nil,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"Nil"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : Nil, token)","args_html":"(value : Nil, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":529,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L529"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"Nil"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":530,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L530"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Parameter","path":"Cosmo/AST/Expression/Parameter.html","kind":"class","full_name":"Cosmo::AST::Expression::Parameter","name":"Parameter","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":215,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L215"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(typedef:Cosmo::Token,identifier:Cosmo::Token,const:Bool,default_value:Cosmo::AST::Expression::Base|Nil=NoneLiteral.new(nil,identifier))-class-method","name":"new","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"const","external_name":"const","restriction":"::Bool"},{"name":"default_value","default_value":"NoneLiteral.new(nil, identifier)","external_name":"default_value","restriction":"::Cosmo::AST::Expression::Base | ::Nil"}],"args_string":"(typedef : Cosmo::Token, identifier : Cosmo::Token, const : Bool, default_value : Cosmo::AST::Expression::Base | Nil = NoneLiteral.new(nil, identifier))","args_html":"(typedef : Cosmo::Token, identifier : Cosmo::Token, const : Bool, default_value : Cosmo::AST::Expression::Base | Nil = NoneLiteral.new(nil, identifier))","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":221,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L221"},"def":{"name":"new","args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"const","external_name":"const","restriction":"::Bool"},{"name":"default_value","default_value":"NoneLiteral.new(nil, identifier)","external_name":"default_value","restriction":"::Cosmo::AST::Expression::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(typedef, identifier, const, default_value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":224,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L224"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":""}},{"html_id":"const?:Bool-instance-method","name":"const?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":218,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L218"},"def":{"name":"const?","return_type":"Bool","visibility":"Public","body":"@const"}},{"html_id":"default_value:Base|Nil-instance-method","name":"default_value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":219,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L219"},"def":{"name":"default_value","return_type":"Base | ::Nil","visibility":"Public","body":"@default_value"}},{"html_id":"identifier:Token-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":217,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L217"},"def":{"name":"identifier","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":67,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L67"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"if value.is_a?(Base)\n value_s = (@value.as(Base)).to_s(indent + 1)\nelse\n value_s = @value.to_s\nend\n\"PropertyAssignment\"\n"}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":63,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L63"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@object.token"}},{"html_id":"value:Base|ValueType-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":54,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L54"},"def":{"name":"value","return_type":"Base | ValueType","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/RangeLiteral","path":"Cosmo/AST/Expression/RangeLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::RangeLiteral","name":"RangeLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":423,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L423"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(from:Cosmo::AST::Expression::Base,to:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"from","external_name":"from","restriction":"::Cosmo::AST::Expression::Base"},{"name":"to","external_name":"to","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(from : Cosmo::AST::Expression::Base, to : Cosmo::AST::Expression::Base)","args_html":"(from : Cosmo::AST::Expression::Base, to : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":427,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L427"},"def":{"name":"new","args":[{"name":"from","external_name":"from","restriction":"::Cosmo::AST::Expression::Base"},{"name":"to","external_name":"to","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(from, to)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":430,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L430"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_range_literal_expr(self)"}},{"html_id":"from:Base-instance-method","name":"from","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":424,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L424"},"def":{"name":"from","return_type":"Base","visibility":"Public","body":"@from"}},{"html_id":"to:Base-instance-method","name":"to","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":425,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L425"},"def":{"name":"to","return_type":"Base","visibility":"Public","body":"@to"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":438,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L438"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"RangeLiteral<\\n\" + \" #{TAB * indent}from: #{@from.to_s(indent + 1)},\\n\") + \" #{TAB * indent}to: #{@to.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":434,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L434"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@from.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/StringLiteral","path":"Cosmo/AST/Expression/StringLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::StringLiteral","name":"StringLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Literal","kind":"class","full_name":"Cosmo::AST::Expression::Literal","name":"Literal"},{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":486,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L486"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(value:String,token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"token","external_name":"token","restriction":""}],"args_string":"(value : String, token)","args_html":"(value : String, token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":487,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L487"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"String"},{"name":"token","external_name":"token","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":488,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L488"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Literal<\\\"#{@value}\\\">\""}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TableLiteral","path":"Cosmo/AST/Expression/TableLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::TableLiteral","name":"TableLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":446,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L446"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(hashmap:Hash(Cosmo::AST::Expression::Base,Cosmo::AST::Expression::Base),token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"hashmap","external_name":"hashmap","restriction":"::Hash(::Cosmo::AST::Expression::Base, ::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(hashmap : Hash(Cosmo::AST::Expression::Base, Cosmo::AST::Expression::Base), token : Cosmo::Token)","args_html":"(hashmap : Hash(Cosmo::AST::Expression::Base, Cosmo::AST::Expression::Base), token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":450,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L450"},"def":{"name":"new","args":[{"name":"hashmap","external_name":"hashmap","restriction":"::Hash(::Cosmo::AST::Expression::Base, ::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(hashmap, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":452,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L452"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_table_literal_expr(self)"}},{"html_id":"hashmap:Hash(Base,Base)-instance-method","name":"hashmap","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":448,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L448"},"def":{"name":"hashmap","return_type":"Hash(Base, Base)","visibility":"Public","body":"@hashmap"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":456,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L456"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"s = \"Literal<{\\n\"\n@hashmap.keys.each do |k|\n s = s + (TAB * (indent + 1))\n s = s + (k.to_s(indent + 1))\n s = s + \" -> \"\n s = s + (@hashmap[k].to_s(indent + 1))\n s = s + \"\\n\"\nend\ns + \"#{TAB * indent}}>\"\n"}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":447,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L447"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TernaryOp","path":"Cosmo/AST/Expression/TernaryOp.html","kind":"class","full_name":"Cosmo::AST::Expression::TernaryOp","name":"TernaryOp","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":26,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L26"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(condition:Cosmo::AST::Expression::Base,operator:Cosmo::Token,then:Cosmo::AST::Expression::Base,else:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Expression::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(condition : Cosmo::AST::Expression::Base, operator : Cosmo::Token, then : Cosmo::AST::Expression::Base, else : Cosmo::AST::Expression::Base)","args_html":"(condition : Cosmo::AST::Expression::Base, operator : Cosmo::Token, then : Cosmo::AST::Expression::Base, else : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":32,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L32"},"def":{"name":"new","args":[{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Expression::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(condition, operator, then, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":35,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L35"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_ternary_op_expr(self)"}},{"html_id":"condition:Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":27,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L27"},"def":{"name":"condition","return_type":"Base","visibility":"Public","body":"@condition"}},{"html_id":"else:Base-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":30,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L30"},"def":{"name":"else","return_type":"Base","visibility":"Public","body":"@else"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":28,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L28"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"then:Base-instance-method","name":"then","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":29,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L29"},"def":{"name":"then","return_type":"Base","visibility":"Public","body":"@then"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":43,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L43"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Ternary<\\n\" + \" #{TAB * indent}left: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}then: #{@then.to_s(indent + 1)}\\n\") + \" #{TAB * indent}else: #{@else.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":39,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L39"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@operator"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/This","path":"Cosmo/AST/Expression/This.html","kind":"class","full_name":"Cosmo::AST::Expression::This","name":"This","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":357,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L357"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(token:Cosmo::Token,class_name:String)-class-method","name":"new","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"},{"name":"class_name","external_name":"class_name","restriction":"::String"}],"args_string":"(token : Cosmo::Token, class_name : String)","args_html":"(token : Cosmo::Token, class_name : String)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":361,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L361"},"def":{"name":"new","args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"},{"name":"class_name","external_name":"class_name","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(token, class_name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":364,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L364"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_this_expr(self)"}},{"html_id":"class_name:String-instance-method","name":"class_name","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":359,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L359"},"def":{"name":"class_name","return_type":"String","visibility":"Public","body":"@class_name"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":368,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L368"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"This\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":358,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L358"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeAlias","path":"Cosmo/AST/Expression/TypeAlias.html","kind":"class","full_name":"Cosmo::AST::Expression::TypeAlias","name":"TypeAlias","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":165,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L165"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(type_token:Cosmo::Token,var:Cosmo::AST::Expression::Var,value:Cosmo::AST::Expression::Base,constant:Bool,visibility)-class-method","name":"new","abstract":false,"args":[{"name":"type_token","external_name":"type_token","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"args_string":"(type_token : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","args_html":"(type_token : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":172,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L172"},"def":{"name":"new","args":[{"name":"type_token","external_name":"type_token","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(type_token, var, value, constant, visibility)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":175,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L175"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_type_alias_expr(self)"}},{"html_id":"constant?:Bool-instance-method","name":"constant?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":169,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L169"},"def":{"name":"constant?","return_type":"Bool","visibility":"Public","body":"@constant"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":183,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L183"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"TypeAlias<\\n\" + \" #{TAB * indent}#{@var.token.value.to_s}: #{@value.nil? ? \"none\" : @value.not_nil!.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":179,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L179"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@var.token"}},{"html_id":"type_token:Token-instance-method","name":"type_token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":166,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L166"},"def":{"name":"type_token","return_type":"Token","visibility":"Public","body":"@type_token"}},{"html_id":"value:Expression::Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":168,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L168"},"def":{"name":"value","return_type":"Expression::Base","visibility":"Public","body":"@value"}},{"html_id":"var:Var-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":167,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L167"},"def":{"name":"var","return_type":"Var","visibility":"Public","body":"@var"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":170,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L170"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/TypeRef","path":"Cosmo/AST/Expression/TypeRef.html","kind":"class","full_name":"Cosmo::AST::Expression::TypeRef","name":"TypeRef","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":146,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L146"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(name:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::Cosmo::Token"}],"args_string":"(name : Cosmo::Token)","args_html":"(name : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":149,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L149"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":152,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L152"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_type_ref_expr(self)"}},{"html_id":"name:Token-instance-method","name":"name","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":147,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L147"},"def":{"name":"name","return_type":"Token","visibility":"Public","body":"@name"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":160,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L160"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"TypeRef<\\\"#{@name.value.to_s}\\\">\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":156,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L156"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@name"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/UnaryOp","path":"Cosmo/AST/Expression/UnaryOp.html","kind":"class","full_name":"Cosmo::AST::Expression::UnaryOp","name":"UnaryOp","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":389,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L389"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(operator:Cosmo::Token,operand:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"operand","external_name":"operand","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(operator : Cosmo::Token, operand : Cosmo::AST::Expression::Base)","args_html":"(operator : Cosmo::Token, operand : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":393,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L393"},"def":{"name":"new","args":[{"name":"operator","external_name":"operator","restriction":"::Cosmo::Token"},{"name":"operand","external_name":"operand","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(operator, operand)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":396,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L396"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_unary_op_expr(self)"}},{"html_id":"operand:Base-instance-method","name":"operand","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":391,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L391"},"def":{"name":"operand","return_type":"Base","visibility":"Public","body":"@operand"}},{"html_id":"operator:Token-instance-method","name":"operator","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":390,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L390"},"def":{"name":"operator","return_type":"Token","visibility":"Public","body":"@operator"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":404,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L404"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Unary<\\n\" + \" #{TAB * indent}operator: #{@operator.to_s},\\n\") + \" #{TAB * indent}operand: #{@operand.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":400,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L400"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@operator"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/Var","path":"Cosmo/AST/Expression/Var.html","kind":"class","full_name":"Cosmo::AST::Expression::Var","name":"Var","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":317,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L317"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(token : Cosmo::Token)","args_html":"(token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":320,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L320"},"def":{"name":"new","args":[{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":323,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L323"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_var_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":327,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L327"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Var<\\\"#{@token.value.to_s}\\\">\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":318,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L318"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@token"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/VarAssignment","path":"Cosmo/AST/Expression/VarAssignment.html","kind":"class","full_name":"Cosmo::AST::Expression::VarAssignment","name":"VarAssignment","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":294,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L294"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(var:Cosmo::AST::Expression::Var,value:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base)","args_html":"(var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":298,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L298"},"def":{"name":"new","args":[{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(var, value)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":301,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L301"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_var_assignment_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":309,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L309"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"VarAssignment<\\n\" + \" #{TAB * indent}var: #{@var.token.value.to_s},\\n\") + \" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":305,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L305"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@var.token"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":296,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L296"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}},{"html_id":"var:Var-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":295,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L295"},"def":{"name":"var","return_type":"Var","visibility":"Public","body":"@var"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/VarDeclaration","path":"Cosmo/AST/Expression/VarDeclaration.html","kind":"class","full_name":"Cosmo::AST::Expression::VarDeclaration","name":"VarDeclaration","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":265,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L265"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(typedef:Cosmo::Token,var:Cosmo::AST::Expression::Var,value:Cosmo::AST::Expression::Base,constant:Bool,visibility)-class-method","name":"new","abstract":false,"args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"args_string":"(typedef : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","args_html":"(typedef : Cosmo::Token, var : Cosmo::AST::Expression::Var, value : Cosmo::AST::Expression::Base, constant : Bool, visibility)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":272,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L272"},"def":{"name":"new","args":[{"name":"typedef","external_name":"typedef","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::Var"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"constant","external_name":"constant","restriction":"::Bool"},{"name":"visibility","external_name":"visibility","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(typedef, var, value, constant, visibility)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":275,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L275"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_var_declaration_expr(self)"}},{"html_id":"constant?:Bool-instance-method","name":"constant?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":269,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L269"},"def":{"name":"constant?","return_type":"Bool","visibility":"Public","body":"@constant"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":283,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L283"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((((\"VarDeclaration<\\n\" + \" #{TAB * indent}typedef: #{@typedef.value},\\n\") + \" #{TAB * indent}var: #{@var.token.value.to_s},\\n\") + \" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\") + \" #{TAB * indent}constant?: #{@constant}\\n\") + \" #{TAB * indent}visibility: #{@visibility.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":279,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L279"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@var.token"}},{"html_id":"typedef:Token-instance-method","name":"typedef","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":266,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L266"},"def":{"name":"typedef","return_type":"Token","visibility":"Public","body":"@typedef"}},{"html_id":"value:Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":268,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L268"},"def":{"name":"value","return_type":"Base","visibility":"Public","body":"@value"}},{"html_id":"var:Var-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":267,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L267"},"def":{"name":"var","return_type":"Var","visibility":"Public","body":"@var"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":270,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L270"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Expression/VectorLiteral","path":"Cosmo/AST/Expression/VectorLiteral.html","kind":"class","full_name":"Cosmo::AST::Expression::VectorLiteral","name":"VectorLiteral","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Expression/Base","kind":"class","full_name":"Cosmo::AST::Expression::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":469,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L469"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Expression","kind":"module","full_name":"Cosmo::AST::Expression","name":"Expression"},"constructors":[{"html_id":"new(values:Array(Cosmo::AST::Expression::Base),token:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"values","external_name":"values","restriction":"::Array(::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"args_string":"(values : Array(Cosmo::AST::Expression::Base), token : Cosmo::Token)","args_html":"(values : Array(Cosmo::AST::Expression::Base), token : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":473,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L473"},"def":{"name":"new","args":[{"name":"values","external_name":"values","restriction":"::Array(::Cosmo::AST::Expression::Base)"},{"name":"token","external_name":"token","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(values, token)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/expression_nodes.cr","line_number":475,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/expression_nodes.cr#L475"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_vector_literal_expr(self)"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
It yields itself for any node, but if it's a Statement::ExpressionList, then it returns the first node of the ExpressionList statement
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":21,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L21"},"def":{"name":"single_expression","return_type":"Node","visibility":"Public","body":"single_expression? || self"}},{"html_id":"single_expression?:Node|Nil-instance-method","name":"single_expression?","doc":"It yields `nil` always for any regular node.\n(It is overridden by `ExpressionList` to implement `#single_expression`.)","summary":"
It yields nil always for any regular node.
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":27,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L27"},"def":{"name":"single_expression?","return_type":"Node | ::Nil","visibility":"Public","body":"nil"}},{"html_id":"start_location:Location|Nil-instance-method","name":"start_location","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":12,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L12"},"def":{"name":"start_location","return_type":"Location | ::Nil","visibility":"Public","body":"@start_location"}},{"html_id":"start_location=(start_location:Location|Nil)-instance-method","name":"start_location=","abstract":false,"args":[{"name":"start_location","external_name":"start_location","restriction":"Location | ::Nil"}],"args_string":"(start_location : Location | Nil)","args_html":"(start_location : Location | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":12,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L12"},"def":{"name":"start_location=","args":[{"name":"start_location","external_name":"start_location","restriction":"Location | ::Nil"}],"visibility":"Public","body":"@start_location = start_location"}},{"html_id":"token:Token-instance-method","name":"token","abstract":true,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":16,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L16"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":""}},{"html_id":"visibility:Cosmo::AST::Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":14,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L14"},"def":{"name":"visibility","visibility":"Public","body":"@visibility"}},{"html_id":"visibility=(visibility:Cosmo::AST::Visibility)-instance-method","name":"visibility=","abstract":false,"args":[{"name":"visibility","external_name":"visibility","restriction":"::Cosmo::AST::Visibility"}],"args_string":"(visibility : Cosmo::AST::Visibility)","args_html":"(visibility : Cosmo::AST::Visibility)","location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":14,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L14"},"def":{"name":"visibility=","args":[{"name":"visibility","external_name":"visibility","restriction":"::Cosmo::AST::Visibility"}],"visibility":"Public","body":"@visibility = visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement","path":"Cosmo/AST/Statement.html","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement","abstract":false,"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"},"types":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","path":"Cosmo/AST/Statement/Base.html","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base","abstract":true,"superclass":{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":19,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L19"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/AST/Statement/Block","kind":"class","full_name":"Cosmo::AST::Statement::Block","name":"Block"},{"html_id":"Cosmo/Cosmo/AST/Statement/Break","kind":"class","full_name":"Cosmo::AST::Statement::Break","name":"Break"},{"html_id":"Cosmo/Cosmo/AST/Statement/Case","kind":"class","full_name":"Cosmo::AST::Statement::Case","name":"Case"},{"html_id":"Cosmo/Cosmo/AST/Statement/ClassDef","kind":"class","full_name":"Cosmo::AST::Statement::ClassDef","name":"ClassDef"},{"html_id":"Cosmo/Cosmo/AST/Statement/Every","kind":"class","full_name":"Cosmo::AST::Statement::Every","name":"Every"},{"html_id":"Cosmo/Cosmo/AST/Statement/FunctionDef","kind":"class","full_name":"Cosmo::AST::Statement::FunctionDef","name":"FunctionDef"},{"html_id":"Cosmo/Cosmo/AST/Statement/If","kind":"class","full_name":"Cosmo::AST::Statement::If","name":"If"},{"html_id":"Cosmo/Cosmo/AST/Statement/Next","kind":"class","full_name":"Cosmo::AST::Statement::Next","name":"Next"},{"html_id":"Cosmo/Cosmo/AST/Statement/Return","kind":"class","full_name":"Cosmo::AST::Statement::Return","name":"Return"},{"html_id":"Cosmo/Cosmo/AST/Statement/SingleExpression","kind":"class","full_name":"Cosmo::AST::Statement::SingleExpression","name":"SingleExpression"},{"html_id":"Cosmo/Cosmo/AST/Statement/Throw","kind":"class","full_name":"Cosmo::AST::Statement::Throw","name":"Throw"},{"html_id":"Cosmo/Cosmo/AST/Statement/Unless","kind":"class","full_name":"Cosmo::AST::Statement::Unless","name":"Unless"},{"html_id":"Cosmo/Cosmo/AST/Statement/Until","kind":"class","full_name":"Cosmo::AST::Statement::Until","name":"Until"},{"html_id":"Cosmo/Cosmo/AST/Statement/Use","kind":"class","full_name":"Cosmo::AST::Statement::Use","name":"Use"},{"html_id":"Cosmo/Cosmo/AST/Statement/While","kind":"class","full_name":"Cosmo::AST::Statement::While","name":"While"}],"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"instance_methods":[{"html_id":"accept(visitor:Visitor(R))forallR-instance-method","name":"accept","abstract":true,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) forall R","args_html":"(visitor : Visitor(R)) forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":20,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L20"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"visibility":"Public","body":""}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Block","path":"Cosmo/AST/Statement/Block.html","kind":"class","full_name":"Cosmo::AST::Statement::Block","name":"Block","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":383,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L383"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(nodes:Array(Cosmo::AST::Statement::Base)=[]ofNode)-class-method","name":"new","abstract":false,"args":[{"name":"nodes","default_value":"[] of Node","external_name":"nodes","restriction":"::Array(::Cosmo::AST::Statement::Base)"}],"args_string":"(nodes : Array(Cosmo::AST::Statement::Base) = [] of Node)","args_html":"(nodes : Array(Cosmo::AST::Statement::Base) = []ofNode)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":386,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L386"},"def":{"name":"new","args":[{"name":"nodes","default_value":"[] of Node","external_name":"nodes","restriction":"::Array(::Cosmo::AST::Statement::Base)"}],"visibility":"Public","body":"_ = allocate\n_.initialize(nodes)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"[](i:UInt):Node-instance-method","name":"[]","abstract":false,"args":[{"name":"i","external_name":"i","restriction":"UInt"}],"args_string":"(i : UInt) : Node","args_html":"(i : UInt) : Node","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":393,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L393"},"def":{"name":"[]","args":[{"name":"i","external_name":"i","restriction":"UInt"}],"return_type":"Node","visibility":"Public","body":"@nodes[i]"}},{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":427,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L427"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_block_stmt(self)"}},{"html_id":"empty?-instance-method","name":"empty?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":389,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L389"},"def":{"name":"empty?","visibility":"Public","body":"@nodes.empty?"}},{"html_id":"end_location:Location-instance-method","name":"end_location","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":409,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L409"},"def":{"name":"end_location","return_type":"Location","visibility":"Public","body":"@end_location || @nodes.last?.try(&.end_location)"}},{"html_id":"first:Node-instance-method","name":"first","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":397,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L397"},"def":{"name":"first","return_type":"Node","visibility":"Public","body":"@nodes.first"}},{"html_id":"last:Node-instance-method","name":"last","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":401,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L401"},"def":{"name":"last","return_type":"Node","visibility":"Public","body":"@nodes.last"}},{"html_id":"location:Location-instance-method","name":"location","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":405,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L405"},"def":{"name":"location","return_type":"Location","visibility":"Public","body":"@location || @nodes.first?.try(&.location)"}},{"html_id":"nodes:Array(Base)-instance-method","name":"nodes","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":384,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L384"},"def":{"name":"nodes","return_type":"Array(Base)","visibility":"Public","body":"@nodes"}},{"html_id":"single_expression?:Expression::Base|Nil-instance-method","name":"single_expression?","doc":"It yields first node if this holds only one node, or yields `nil`.","summary":"
It yields first node if this holds only one node, or yields nil.
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":414,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L414"},"def":{"name":"single_expression?","return_type":"Expression::Base | ::Nil","visibility":"Public","body":"if @nodes.size == 1\n expr = @nodes.first.single_expression\n if expr.is_a?(Statement::SingleExpression)\n expr.expression\n else\n expr.as(Expression::Base)\n end\nelse\n nil\nend"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":435,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L435"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"Block\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":431,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L431"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@nodes.empty? ? Token.new(\"none\", Syntax::None, nil, Location.new(\"\", 0, 0)) : @nodes.first.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Break","path":"Cosmo/AST/Statement/Break.html","kind":"class","full_name":"Cosmo::AST::Statement::Break","name":"Break","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":164,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L164"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(keyword : Cosmo::Token)","args_html":"(keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":167,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L167"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":170,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L170"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_break_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":165,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L165"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":178,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L178"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Break\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":174,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L174"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Case","path":"Cosmo/AST/Statement/Case.html","kind":"class","full_name":"Cosmo::AST::Statement::Case","name":"Case","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":73,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L73"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,value:Cosmo::AST::Expression::Base,comparisons:Array(Cosmo::AST::Statement::When),else:Cosmo::AST::Statement::Base|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"comparisons","external_name":"comparisons","restriction":"::Array(::Cosmo::AST::Statement::When)"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"args_string":"(keyword : Cosmo::Token, value : Cosmo::AST::Expression::Base, comparisons : Array(Cosmo::AST::Statement::When), else : Cosmo::AST::Statement::Base | Nil)","args_html":"(keyword : Cosmo::Token, value : Cosmo::AST::Expression::Base, comparisons : Array(Cosmo::AST::Statement::When), else : Cosmo::AST::Statement::Base | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":79,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L79"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"comparisons","external_name":"comparisons","restriction":"::Array(::Cosmo::AST::Statement::When)"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, value, comparisons, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":82,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L82"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_case_stmt(self)"}},{"html_id":"comparisons:Array(When)-instance-method","name":"comparisons","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":76,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L76"},"def":{"name":"comparisons","return_type":"Array(When)","visibility":"Public","body":"@comparisons"}},{"html_id":"else:Base|Nil-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":77,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L77"},"def":{"name":"else","return_type":"Base | ::Nil","visibility":"Public","body":"@else"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":74,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L74"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":26,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L26"},"def":{"name":"body","return_type":"Block","visibility":"Public","body":"@body"}},{"html_id":"identifier:Token-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":24,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L24"},"def":{"name":"identifier","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"mixins:Array(Expression::Base)-instance-method","name":"mixins","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":29,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L29"},"def":{"name":"mixins","return_type":"Array(Expression::Base)","visibility":"Public","body":"@mixins"}},{"html_id":"superclass:Expression::Base|Nil-instance-method","name":"superclass","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":28,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L28"},"def":{"name":"superclass","return_type":"Expression::Base | ::Nil","visibility":"Public","body":"@superclass"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":42,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L42"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"ClassDef<\\n\" + \" #{TAB * indent}identifier: #{@identifier.value.to_s},\\n\") + \" #{TAB * indent}body: #{@body.to_s(indent + 1)}\\n\") + \" #{TAB * indent}visibility: #{@visibility.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":38,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L38"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":27,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L27"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Every","path":"Cosmo/AST/Statement/Every.html","kind":"class","full_name":"Cosmo::AST::Statement::Every","name":"Every","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":183,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L183"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,var:Cosmo::AST::Expression::VarDeclaration,enumerable:Cosmo::AST::Expression::Base,block:Cosmo::AST::Statement::Base)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::VarDeclaration"},{"name":"enumerable","external_name":"enumerable","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"args_string":"(keyword : Cosmo::Token, var : Cosmo::AST::Expression::VarDeclaration, enumerable : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","args_html":"(keyword : Cosmo::Token, var : Cosmo::AST::Expression::VarDeclaration, enumerable : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":189,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L189"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"var","external_name":"var","restriction":"::Cosmo::AST::Expression::VarDeclaration"},{"name":"enumerable","external_name":"enumerable","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, var, enumerable, block)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":192,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L192"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_every_stmt(self)"}},{"html_id":"block:Base-instance-method","name":"block","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":187,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L187"},"def":{"name":"block","return_type":"Base","visibility":"Public","body":"@block"}},{"html_id":"enumerable:Expression::Base-instance-method","name":"enumerable","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":186,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L186"},"def":{"name":"enumerable","return_type":"Expression::Base","visibility":"Public","body":"@enumerable"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":184,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L184"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":200,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L200"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Every<\\n\" + \" #{TAB * indent}var: #{@var.to_s(indent + 1)},\\n\") + \" #{TAB * indent}in: #{@enumerable.to_s(indent + 1)}\\n\") + \" #{TAB * indent}do: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":196,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L196"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"var:Expression::VarDeclaration-instance-method","name":"var","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":185,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L185"},"def":{"name":"var","return_type":"Expression::VarDeclaration","visibility":"Public","body":"@var"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/FunctionDef","path":"Cosmo/AST/Statement/FunctionDef.html","kind":"class","full_name":"Cosmo::AST::Statement::FunctionDef","name":"FunctionDef","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":331,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L331"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(identifier:Cosmo::Token,parameters:Array(Cosmo::AST::Expression::Parameter),body:Cosmo::AST::Statement::Block,return_typedef:Cosmo::Token,visibility)-class-method","name":"new","abstract":false,"args":[{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"parameters","external_name":"parameters","restriction":"::Array(::Cosmo::AST::Expression::Parameter)"},{"name":"body","external_name":"body","restriction":"::Cosmo::AST::Statement::Block"},{"name":"return_typedef","external_name":"return_typedef","restriction":"::Cosmo::Token"},{"name":"visibility","external_name":"visibility","restriction":""}],"args_string":"(identifier : Cosmo::Token, parameters : Array(Cosmo::AST::Expression::Parameter), body : Cosmo::AST::Statement::Block, return_typedef : Cosmo::Token, visibility)","args_html":"(identifier : Cosmo::Token, parameters : Array(Cosmo::AST::Expression::Parameter), body : Cosmo::AST::Statement::Block, return_typedef : Cosmo::Token, visibility)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":338,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L338"},"def":{"name":"new","args":[{"name":"identifier","external_name":"identifier","restriction":"::Cosmo::Token"},{"name":"parameters","external_name":"parameters","restriction":"::Array(::Cosmo::AST::Expression::Parameter)"},{"name":"body","external_name":"body","restriction":"::Cosmo::AST::Statement::Block"},{"name":"return_typedef","external_name":"return_typedef","restriction":"::Cosmo::Token"},{"name":"visibility","external_name":"visibility","restriction":""}],"visibility":"Public","body":"_ = allocate\n_.initialize(identifier, parameters, body, return_typedef, visibility)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":341,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L341"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_fn_def_stmt(self)"}},{"html_id":"body:Block-instance-method","name":"body","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":334,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L334"},"def":{"name":"body","return_type":"Block","visibility":"Public","body":"@body"}},{"html_id":"identifier:Token-instance-method","name":"identifier","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":332,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L332"},"def":{"name":"identifier","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"parameters:Array(Expression::Parameter)-instance-method","name":"parameters","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":333,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L333"},"def":{"name":"parameters","return_type":"Array(Expression::Parameter)","visibility":"Public","body":"@parameters"}},{"html_id":"return_typedef:Token-instance-method","name":"return_typedef","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":335,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L335"},"def":{"name":"return_typedef","return_type":"Token","visibility":"Public","body":"@return_typedef"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":349,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L349"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((((((\"FunctionDef<\\n\" + \" #{TAB * indent}identifier: #{@identifier.value.to_s},\\n\") + \" #{TAB * indent}parameters: [\\n\") + \" #{TAB * indent}#{@parameters.map() do |__arg2|\n (__arg2.to_s(indent + 2)).as(String)\nend.join(\",\\n#{TAB * (indent + 2)}\")}\\n\") + \" #{TAB * indent}],\\n\") + \" #{TAB * indent}return_typedef: #{@return_typedef.value},\\n\") + \" #{TAB * indent}body: #{@body.to_s(indent + 1)}\\n\") + \" #{TAB * indent}visibility: #{@visibility.to_s}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":345,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L345"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@identifier"}},{"html_id":"visibility:Visibility-instance-method","name":"visibility","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":336,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L336"},"def":{"name":"visibility","return_type":"Visibility","visibility":"Public","body":"@visibility"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/If","path":"Cosmo/AST/Statement/If.html","kind":"class","full_name":"Cosmo::AST::Statement::If","name":"If","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":257,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L257"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,then:Cosmo::AST::Statement::Base,else:Cosmo::AST::Statement::Base|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":263,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L263"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, then, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":266,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L266"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_if_stmt(self)"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":259,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L259"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"else:Base|Nil-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":261,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L261"},"def":{"name":"else","return_type":"Base | ::Nil","visibility":"Public","body":"@else"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":258,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L258"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"then:Base-instance-method","name":"then","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":260,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L260"},"def":{"name":"then","return_type":"Base","visibility":"Public","body":"@then"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":274,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L274"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"If<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}then: #{@then.to_s(indent + 1)},\\n\") + \" #{TAB * indent}else: #{@else.nil? ? \"none\" : @else.not_nil!.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":270,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L270"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Next","path":"Cosmo/AST/Statement/Next.html","kind":"class","full_name":"Cosmo::AST::Statement::Next","name":"Next","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":145,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L145"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(keyword : Cosmo::Token)","args_html":"(keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":148,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L148"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":151,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L151"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_next_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":146,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L146"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":159,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L159"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"\"Next\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":155,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L155"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Return","path":"Cosmo/AST/Statement/Return.html","kind":"class","full_name":"Cosmo::AST::Statement::Return","name":"Return","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":309,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L309"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(value:Cosmo::AST::Expression::Base,keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(value : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","args_html":"(value : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":313,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L313"},"def":{"name":"new","args":[{"name":"value","external_name":"value","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(value, keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":316,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L316"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_return_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":311,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L311"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":324,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L324"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"Return<\\n\" + \" #{TAB * indent}value: #{@value.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":320,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L320"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"value:Expression::Base-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":310,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L310"},"def":{"name":"value","return_type":"Expression::Base","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/SingleExpression","path":"Cosmo/AST/Statement/SingleExpression.html","kind":"class","full_name":"Cosmo::AST::Statement::SingleExpression","name":"SingleExpression","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":362,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L362"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(expression:Cosmo::AST::Expression::Base)-class-method","name":"new","abstract":false,"args":[{"name":"expression","external_name":"expression","restriction":"::Cosmo::AST::Expression::Base"}],"args_string":"(expression : Cosmo::AST::Expression::Base)","args_html":"(expression : Cosmo::AST::Expression::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":365,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L365"},"def":{"name":"new","args":[{"name":"expression","external_name":"expression","restriction":"::Cosmo::AST::Expression::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(expression)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":368,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L368"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_single_expr_stmt(self)"}},{"html_id":"expression:Expression::Base-instance-method","name":"expression","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":363,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L363"},"def":{"name":"expression","return_type":"Expression::Base","visibility":"Public","body":"@expression"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":376,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L376"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"SingleExpression<\\n\" + \" #{TAB * indent}expression: #{@expression.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":372,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L372"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@expression.token"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Throw","path":"Cosmo/AST/Statement/Throw.html","kind":"class","full_name":"Cosmo::AST::Statement::Throw","name":"Throw","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":123,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L123"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(err:Cosmo::AST::Expression::Base,keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"err","external_name":"err","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(err : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","args_html":"(err : Cosmo::AST::Expression::Base, keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":127,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L127"},"def":{"name":"new","args":[{"name":"err","external_name":"err","restriction":"::Cosmo::AST::Expression::Base"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(err, keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":130,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L130"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_throw_stmt(self)"}},{"html_id":"err:Expression::Base-instance-method","name":"err","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":124,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L124"},"def":{"name":"err","return_type":"Expression::Base","visibility":"Public","body":"@err"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":125,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L125"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":138,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L138"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(\"Throw<\\n\" + \" #{TAB * indent}err: #{@err.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":134,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L134"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Unless","path":"Cosmo/AST/Statement/Unless.html","kind":"class","full_name":"Cosmo::AST::Statement::Unless","name":"Unless","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":283,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L283"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,then:Cosmo::AST::Statement::Base,else:Cosmo::AST::Statement::Base|Nil)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, then : Cosmo::AST::Statement::Base, else : Cosmo::AST::Statement::Base | Nil)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":289,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L289"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"then","external_name":"then","restriction":"::Cosmo::AST::Statement::Base"},{"name":"else","external_name":"else","restriction":"::Cosmo::AST::Statement::Base | ::Nil"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, then, else)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":292,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L292"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_unless_stmt(self)"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":285,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L285"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"else:Base|Nil-instance-method","name":"else","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":287,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L287"},"def":{"name":"else","return_type":"Base | ::Nil","visibility":"Public","body":"@else"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":284,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L284"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"then:Base-instance-method","name":"then","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":286,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L286"},"def":{"name":"then","return_type":"Base","visibility":"Public","body":"@then"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":300,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L300"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"(((\"Unless<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}then: #{@then.to_s(indent + 1)},\\n\") + \" #{TAB * indent}else: #{@else.nil? ? \"none\" : @else.not_nil!.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":296,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L296"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Until","path":"Cosmo/AST/Statement/Until.html","kind":"class","full_name":"Cosmo::AST::Statement::Until","name":"Until","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":233,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L233"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,block:Cosmo::AST::Statement::Base)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":238,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L238"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, block)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":241,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L241"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_until_stmt(self)"}},{"html_id":"block:Base-instance-method","name":"block","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":236,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L236"},"def":{"name":"block","return_type":"Base","visibility":"Public","body":"@block"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":235,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L235"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":234,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L234"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":249,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L249"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"Until<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}do: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":245,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L245"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/Use","path":"Cosmo/AST/Statement/Use.html","kind":"class","full_name":"Cosmo::AST::Statement::Use","name":"Use","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":101,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L101"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(module_path:Cosmo::Token,keyword:Cosmo::Token)-class-method","name":"new","abstract":false,"args":[{"name":"module_path","external_name":"module_path","restriction":"::Cosmo::Token"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"args_string":"(module_path : Cosmo::Token, keyword : Cosmo::Token)","args_html":"(module_path : Cosmo::Token, keyword : Cosmo::Token)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":105,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L105"},"def":{"name":"new","args":[{"name":"module_path","external_name":"module_path","restriction":"::Cosmo::Token"},{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"}],"visibility":"Public","body":"_ = allocate\n_.initialize(module_path, keyword)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":108,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L108"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_use_stmt(self)"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":103,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L103"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"module_path:Token-instance-method","name":"module_path","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":102,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L102"},"def":{"name":"module_path","return_type":"Token","visibility":"Public","body":"@module_path"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":63,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L63"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((((\"When<\\n\" + \" #{TAB * indent}conditions: [\\n\") + \" #{TAB * indent}#{@conditions.map() do |__arg0|\n (__arg0.to_s(indent + 2)).as(String)\nend.join(\",\\n#{TAB * (indent + 2)}\")}\\n\") + \" #{TAB * indent}],\\n\") + \" #{TAB * indent}block: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":59,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L59"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]},{"html_id":"Cosmo/Cosmo/AST/Statement/While","path":"Cosmo/AST/Statement/While.html","kind":"class","full_name":"Cosmo::AST::Statement::While","name":"While","abstract":false,"superclass":{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},"ancestors":[{"html_id":"Cosmo/Cosmo/AST/Statement/Base","kind":"class","full_name":"Cosmo::AST::Statement::Base","name":"Base"},{"html_id":"Cosmo/Cosmo/AST/Node","kind":"class","full_name":"Cosmo::AST::Node","name":"Node"},{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":209,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L209"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo/AST/Statement","kind":"module","full_name":"Cosmo::AST::Statement","name":"Statement"},"constructors":[{"html_id":"new(keyword:Cosmo::Token,condition:Cosmo::AST::Expression::Base,block:Cosmo::AST::Statement::Base)-class-method","name":"new","abstract":false,"args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"args_string":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","args_html":"(keyword : Cosmo::Token, condition : Cosmo::AST::Expression::Base, block : Cosmo::AST::Statement::Base)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":214,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L214"},"def":{"name":"new","args":[{"name":"keyword","external_name":"keyword","restriction":"::Cosmo::Token"},{"name":"condition","external_name":"condition","restriction":"::Cosmo::AST::Expression::Base"},{"name":"block","external_name":"block","restriction":"::Cosmo::AST::Statement::Base"}],"visibility":"Public","body":"_ = allocate\n_.initialize(keyword, condition, block)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"accept(visitor:Visitor(R)):RforallR-instance-method","name":"accept","abstract":false,"args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"args_string":"(visitor : Visitor(R)) : R forall R","args_html":"(visitor : Visitor(R)) : R forall R","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":217,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L217"},"def":{"name":"accept","args":[{"name":"visitor","external_name":"visitor","restriction":"Visitor(R)"}],"return_type":"R","visibility":"Public","body":"visitor.visit_while_stmt(self)"}},{"html_id":"block:Base-instance-method","name":"block","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":212,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L212"},"def":{"name":"block","return_type":"Base","visibility":"Public","body":"@block"}},{"html_id":"condition:Expression::Base-instance-method","name":"condition","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":211,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L211"},"def":{"name":"condition","return_type":"Expression::Base","visibility":"Public","body":"@condition"}},{"html_id":"keyword:Token-instance-method","name":"keyword","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":210,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L210"},"def":{"name":"keyword","return_type":"Token","visibility":"Public","body":"@keyword"}},{"html_id":"to_s(indent:Int=0)-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"args_string":"(indent : Int = 0)","args_html":"(indent : Int = 0)","location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":225,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L225"},"def":{"name":"to_s","args":[{"name":"indent","default_value":"0","external_name":"indent","restriction":"Int"}],"visibility":"Public","body":"((\"While<\\n\" + \" #{TAB * indent}condition: #{@condition.to_s(indent + 1)},\\n\") + \" #{TAB * indent}do: #{@block.to_s(indent + 1)}\\n\") + \"#{TAB * indent}>\""}},{"html_id":"token:Token-instance-method","name":"token","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast/statement_nodes.cr","line_number":221,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast/statement_nodes.cr#L221"},"def":{"name":"token","return_type":"Token","visibility":"Public","body":"@keyword"}}]}]},{"html_id":"Cosmo/Cosmo/AST/Visibility","path":"Cosmo/AST/Visibility.html","kind":"enum","full_name":"Cosmo::AST::Visibility","name":"Visibility","abstract":false,"ancestors":[{"html_id":"Cosmo/Enum","kind":"struct","full_name":"Enum","name":"Enum"},{"html_id":"Cosmo/Comparable","kind":"module","full_name":"Comparable","name":"Comparable"},{"html_id":"Cosmo/Value","kind":"struct","full_name":"Value","name":"Value"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L4"}],"repository_name":"Cosmo","program":false,"enum":true,"alias":false,"const":false,"constants":[{"id":"Public","name":"Public","value":"0"},{"id":"Protected","name":"Protected","value":"1"},{"id":"Private","name":"Private","value":"2"},{"id":"Static","name":"Static","value":"3"}],"namespace":{"html_id":"Cosmo/Cosmo/AST","kind":"module","full_name":"Cosmo::AST","name":"AST"},"instance_methods":[{"html_id":"private?-instance-method","name":"private?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":7,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L7"},"def":{"name":"private?","visibility":"Public","body":"self == Private"}},{"html_id":"protected?-instance-method","name":"protected?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L6"},"def":{"name":"protected?","visibility":"Public","body":"self == Protected"}},{"html_id":"public?-instance-method","name":"public?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":5,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L5"},"def":{"name":"public?","visibility":"Public","body":"self == Public"}},{"html_id":"static?-instance-method","name":"static?","abstract":false,"location":{"filename":"src/cosmo/syntax/parser/ast.cr","line_number":8,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/parser/ast.cr#L8"},"def":{"name":"static?","visibility":"Public","body":"self == Static"}}]}]},{"html_id":"Cosmo/Cosmo/Callable","path":"Cosmo/Callable.html","kind":"class","full_name":"Cosmo::Callable","name":"Callable","abstract":true,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/function.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/function.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"subclasses":[{"html_id":"Cosmo/Cosmo/Function","kind":"class","full_name":"Cosmo::Function","name":"Function"},{"html_id":"Cosmo/Cosmo/IntrinsicFunction","kind":"class","full_name":"Cosmo::IntrinsicFunction","name":"IntrinsicFunction"}],"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"instance_methods":[{"html_id":"arity:Range(UInt32,UInt32)-instance-method","name":"arity","abstract":true,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/function.cr#L3"},"def":{"name":"arity","return_type":"Range(UInt32, UInt32)","visibility":"Public","body":""}},{"html_id":"call(args:Array(ValueType)):ValueType-instance-method","name":"call","abstract":true,"args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"args_string":"(args : Array(ValueType)) : ValueType","args_html":"(args : Array(ValueType)) : ValueType","location":{"filename":"src/cosmo/runtime/function.cr","line_number":2,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/function.cr#L2"},"def":{"name":"call","args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"return_type":"ValueType","visibility":"Public","body":""}},{"html_id":"intrinsic?:Bool-instance-method","name":"intrinsic?","abstract":true,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/function.cr#L4"},"def":{"name":"intrinsic?","return_type":"Bool","visibility":"Public","body":""}},{"html_id":"to_s:String-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":true,"location":{"filename":"src/cosmo/runtime/function.cr","line_number":5,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/function.cr#L5"},"def":{"name":"to_s","return_type":"String","visibility":"Public","body":""}}]},{"html_id":"Cosmo/Cosmo/Class","path":"Cosmo/Class.html","kind":"class","full_name":"Cosmo::Class","name":"Class","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/class.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/class.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(interpreter:Cosmo::Interpreter,closure:Cosmo::Scope,definition:Cosmo::AST::Statement::ClassDef)-class-method","name":"new","abstract":false,"args":[{"name":"interpreter","external_name":"interpreter","restriction":"::Cosmo::Interpreter"},{"name":"closure","external_name":"closure","restriction":"::Cosmo::Scope"},{"name":"definition","external_name":"definition","restriction":"::Cosmo::AST::Statement::ClassDef"}],"args_string":"(interpreter : Cosmo::Interpreter, closure : Cosmo::Scope, definition : Cosmo::AST::Statement::ClassDef)","args_html":"(interpreter : Cosmo::Interpreter, closure : Cosmo::Scope, definition : Cosmo::AST::Statement::ClassDef)","location":{"filename":"src/cosmo/runtime/class.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/class.cr#L6"},"def":{"name":"new","args":[{"name":"interpreter","external_name":"interpreter","restriction":"::Cosmo::Interpreter"},{"name":"closure","external_name":"closure","restriction":"::Cosmo::Scope"},{"name":"definition","external_name":"definition","restriction":"::Cosmo::AST::Statement::ClassDef"}],"visibility":"Public","body":"_ = allocate\n_.initialize(interpreter, closure, definition)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"construct(args:Array(ValueType)):ClassInstance-instance-method","name":"construct","abstract":false,"args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"args_string":"(args : Array(ValueType)) : ClassInstance","args_html":"(args : Array(ValueType)) : ClassInstance","location":{"filename":"src/cosmo/runtime/class.cr","line_number":13,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/class.cr#L13"},"def":{"name":"construct","args":[{"name":"args","external_name":"args","restriction":"Array(ValueType)"}],"return_type":"ClassInstance","visibility":"Public","body":"instance = ClassInstance.new(self, args)\n@interpreter.set_meta(\"this\", instance)\n@interpreter.execute_block(@definition.body, Scope.new(@closure))\n@interpreter.delete_meta(\"this\")\ninstance.setup\n"}},{"html_id":"definition:Statement::ClassDef-instance-method","name":"definition","abstract":false,"location":{"filename":"src/cosmo/runtime/class.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/class.cr#L4"},"def":{"name":"definition","return_type":"Statement::ClassDef","visibility":"Public","body":"@definition"}},{"html_id":"interpreter:Interpreter-instance-method","name":"interpreter","abstract":false,"location":{"filename":"src/cosmo/runtime/class.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/class.cr#L3"},"def":{"name":"interpreter","return_type":"Interpreter","visibility":"Public","body":"@interpreter"}},{"html_id":"name-instance-method","name":"name","abstract":false,"location":{"filename":"src/cosmo/runtime/class.cr","line_number":9,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/class.cr#L9"},"def":{"name":"name","visibility":"Public","body":"@definition.identifier.lexeme"}},{"html_id":"to_s:String-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
"}],"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"class_methods":[{"html_id":"class_visibility?(s:String)-class-method","name":"class_visibility?","doc":"Returns whether or not `s` is a class vibility keyword","summary":"
Returns whether or not s is a class vibility keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String)","args_html":"(s : String)","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":36,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/keywords.cr#L36"},"def":{"name":"class_visibility?","args":[{"name":"s","external_name":"s","restriction":"String"}],"visibility":"Public","body":"CLASS_VISIBILITY_KEYWORDS.includes?(s)"}},{"html_id":"get_syntax(s:String):Syntax-class-method","name":"get_syntax","doc":"Returns the syntax type of `s` if it is a regular keyword","summary":"
Returns the syntax type of s if it is a regular keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String) : Syntax","args_html":"(s : String) : Syntax","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":51,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/keywords.cr#L51"},"def":{"name":"get_syntax","args":[{"name":"s","external_name":"s","restriction":"String"}],"return_type":"Syntax","visibility":"Public","body":"KEYWORDS.fetch(s) do\n raise(\"Invalid keyword #{s}\")\nend"}},{"html_id":"keyword?(s:String)-class-method","name":"keyword?","doc":"Returns whether or not `s` is a regular keyword","summary":"
Returns whether or not s is a regular keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String)","args_html":"(s : String)","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":46,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/keywords.cr#L46"},"def":{"name":"keyword?","args":[{"name":"s","external_name":"s","restriction":"String"}],"visibility":"Public","body":"KEYWORDS.has_key?(s)"}},{"html_id":"type?(s:String)-class-method","name":"type?","doc":"Returns whether or not `s` is a type keyword","summary":"
Returns whether or not s is a type keyword
","abstract":false,"args":[{"name":"s","external_name":"s","restriction":"String"}],"args_string":"(s : String)","args_html":"(s : String)","location":{"filename":"src/cosmo/syntax/lexer/keywords.cr","line_number":41,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/keywords.cr#L41"},"def":{"name":"type?","args":[{"name":"s","external_name":"s","restriction":"String"}],"visibility":"Public","body":"TYPE_KEYWORDS.includes?(s)"}}]},{"html_id":"Cosmo/Cosmo/Lexer","path":"Cosmo/Lexer.html","kind":"class","full_name":"Cosmo::Lexer","name":"Lexer","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/lexer.cr","line_number":9,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer.cr#L9"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(source:String,file_path:String,run_benchmarks:Bool)-class-method","name":"new","abstract":false,"args":[{"name":"source","external_name":"source","restriction":"String"},{"name":"file_path","external_name":"file_path","restriction":"String"},{"name":"run_benchmarks","external_name":"run_benchmarks","restriction":"Bool"}],"args_string":"(source : String, file_path : String, run_benchmarks : Bool)","args_html":"(source : String, file_path : String, run_benchmarks : Bool)","location":{"filename":"src/cosmo/syntax/lexer.cr","line_number":17,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer.cr#L17"},"def":{"name":"new","args":[{"name":"source","external_name":"source","restriction":"String"},{"name":"file_path","external_name":"file_path","restriction":"String"},{"name":"run_benchmarks","external_name":"run_benchmarks","restriction":"Bool"}],"visibility":"Public","body":"_ = allocate\n_.initialize(source, file_path, run_benchmarks)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"tokenize:Array(Token)-instance-method","name":"tokenize","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer.cr","line_number":20,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer.cr#L20"},"def":{"name":"tokenize","return_type":"Array(Token)","visibility":"Public","body":"start_time = Time.monotonic\nwhile !finished?\n lex\nend\nadd_token(Syntax::EOF, nil)\nend_time = Time.monotonic\nif @run_benchmarks\n puts(\"Lexer @#{@file_path} took #{get_elapsed(start_time, end_time)}.\")\nend\n@tokens\n"}}]},{"html_id":"Cosmo/Cosmo/Location","path":"Cosmo/Location.html","kind":"class","full_name":"Cosmo::Location","name":"Location","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/location.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(file_name:String,line:UInt32,position:UInt32)-class-method","name":"new","abstract":false,"args":[{"name":"file_name","external_name":"file_name","restriction":"::String"},{"name":"line","external_name":"line","restriction":"::UInt32"},{"name":"position","external_name":"position","restriction":"::UInt32"}],"args_string":"(file_name : String, line : UInt32, position : UInt32)","args_html":"(file_name : String, line : UInt32, position : UInt32)","location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/location.cr#L6"},"def":{"name":"new","args":[{"name":"file_name","external_name":"file_name","restriction":"::String"},{"name":"line","external_name":"line","restriction":"::UInt32"},{"name":"position","external_name":"position","restriction":"::UInt32"}],"visibility":"Public","body":"_ = allocate\n_.initialize(file_name, line, position)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"between?(min:UInt32,max:UInt32)-instance-method","name":"between?","abstract":false,"args":[{"name":"min","external_name":"min","restriction":"UInt32"},{"name":"max","external_name":"max","restriction":"UInt32"}],"args_string":"(min : UInt32, max : UInt32)","args_html":"(min : UInt32, max : UInt32)","location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":9,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/location.cr#L9"},"def":{"name":"between?","args":[{"name":"min","external_name":"min","restriction":"UInt32"},{"name":"max","external_name":"max","restriction":"UInt32"}],"visibility":"Public","body":"if min && max\nelse\n return false\nend\nmin <= self && self <= max\n"}},{"html_id":"directory-instance-method","name":"directory","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":14,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/location.cr#L14"},"def":{"name":"directory","visibility":"Public","body":"@file_name.try do |file_name|\n File.dirname(file_name)\nend"}},{"html_id":"file_name:String-instance-method","name":"file_name","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/location.cr#L4"},"def":{"name":"file_name","return_type":"String","visibility":"Public","body":"@file_name"}},{"html_id":"line:UInt32-instance-method","name":"line","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":2,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/location.cr#L2"},"def":{"name":"line","return_type":"UInt32","visibility":"Public","body":"@line"}},{"html_id":"position:UInt32-instance-method","name":"position","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/location.cr","line_number":3,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/location.cr#L3"},"def":{"name":"position","return_type":"UInt32","visibility":"Public","body":"@position"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns true if the variable exists and is public, otherwise false
","abstract":false,"args":[{"name":"ident","external_name":"ident","restriction":"String"}],"args_string":"(ident : String) : Bool","args_html":"(ident : String) : Bool","location":{"filename":"src/cosmo/runtime/scope.cr","line_number":71,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/scope.cr#L71"},"def":{"name":"public?","args":[{"name":"ident","external_name":"ident","restriction":"String"}],"return_type":"Bool","visibility":"Public","body":"if @variables.has_key?(ident)\nelse\n return false\nend\n@variables[ident][:visibility] == Visibility::Public\n"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.
Returns a nicely readable and concise string representation of this object, typically intended for users.
","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/token.cr","line_number":30,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/token.cr#L30"},"def":{"name":"to_s","visibility":"Public","body":"\"Token\""}},{"html_id":"type:Syntax-instance-method","name":"type","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/token.cr","line_number":5,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/token.cr#L5"},"def":{"name":"type","return_type":"Syntax","visibility":"Public","body":"@type"}},{"html_id":"type=(type:Syntax)-instance-method","name":"type=","abstract":false,"args":[{"name":"type","external_name":"type","restriction":"Syntax"}],"args_string":"(type : Syntax)","args_html":"(type : Syntax)","location":{"filename":"src/cosmo/syntax/lexer/token.cr","line_number":5,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/token.cr#L5"},"def":{"name":"type=","args":[{"name":"type","external_name":"type","restriction":"Syntax"}],"visibility":"Public","body":"@type = type"}},{"html_id":"value:LiteralType-instance-method","name":"value","abstract":false,"location":{"filename":"src/cosmo/syntax/lexer/token.cr","line_number":6,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/syntax/lexer/token.cr#L6"},"def":{"name":"value","return_type":"LiteralType","visibility":"Public","body":"@value"}}]},{"html_id":"Cosmo/Cosmo/Type","path":"Cosmo/Type.html","kind":"class","full_name":"Cosmo::Type","name":"Type","abstract":false,"superclass":{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"Cosmo/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"Cosmo/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/cosmo/runtime/type.cr","line_number":1,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/type.cr#L1"}],"repository_name":"Cosmo","program":false,"enum":false,"alias":false,"const":false,"namespace":{"html_id":"Cosmo/Cosmo","kind":"module","full_name":"Cosmo","name":"Cosmo"},"constructors":[{"html_id":"new(name:String)-class-method","name":"new","abstract":false,"args":[{"name":"name","external_name":"name","restriction":"::String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/cosmo/runtime/type.cr","line_number":4,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/type.cr#L4"},"def":{"name":"new","args":[{"name":"name","external_name":"name","restriction":"::String"}],"visibility":"Public","body":"_ = allocate\n_.initialize(name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"name:String-instance-method","name":"name","abstract":false,"location":{"filename":"src/cosmo/runtime/type.cr","line_number":2,"url":"https://github.com/R-unic/cosmo/blob/ccd8c61c731f2db8cc33ea1469b02e04ff7f36c5/src/cosmo/runtime/type.cr#L2"},"def":{"name":"name","return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"to_s-instance-method","name":"to_s","doc":"Returns a nicely readable and concise string representation of this object,\ntypically intended for users.\n\nThis method should usually **not** be overridden. It delegates to\n`#to_s(IO)` which can be overridden for custom implementations.\n\nAlso see `#inspect`.","summary":"
Returns a nicely readable and concise string representation of this object, typically intended for users.