class Taro::Compiler::Ast::FuncDef
- Taro::Compiler::Ast::FuncDef
- Taro::Compiler::Ast::Node
- Reference
- Object
Overview
A function definition. Parameters are supplied in parentheses. If the function does not accept parameters then parentheses can be omitted Must start with a lowercase letter Must have a return type
def main(param1 : String, param2 : Int32) : Unit { body }
Defined in:
compiler/parser/ast/func_def.crConstructors
Instance Method Summary
-
#==(other : self)
Returns
true
if this reference is the same as other. - #accept_children(visitor)
- #body : Node
- #body=(body : Node)
-
#hash(hasher)
See
Object#hash(hasher)
- #name : String
- #name=(name : String)
- #params : Array(Param)
- #params=(params : Array(Param))
- #return_type : ReturnType
- #return_type=(return_type : ReturnType)
Instance methods inherited from class Taro::Compiler::Ast::Node
accept(visitor)
accept,
accept_children(visitor)
accept_children,
at(location : Location)at(node : Node)
at(node : Nil) at, at_end(end_location : Location)
at_end(node : Node)
at_end(node : Nil) at_end, class_desc : String class_desc, end_location : Location | Nil end_location, end_location=(end_location : Location | Nil) end_location=, location : Location | Nil location, location=(location : Location | Nil) location=
Constructor Detail
def self.new(name : String, params : Array(Taro::Compiler::Ast::Param) = [] of Param, return_type : Taro::Compiler::Ast::ReturnType = Unit.new, body : Taro::Compiler::Ast::Node = Nop.new)
#
Instance Method Detail
def ==(other : self)
#
Description copied from class Reference
Returns true
if this reference is the same as other. Invokes same?
.