class Myst::Def
- Myst::Def
- Myst::Node
- Reference
- Object
Overview
A method definition. Parameters for methods must be wrapped in
parentheses. If the method does not accept parameters, the parentheses
may be omitted. In the context of a type definition, methods can also be
defined as "static" - or related to the type, rather than instances of the
type - using the alternate keyword defstatic
.
[ 'def' | 'defstatic' ] name '(' [ param [ ',' param ]* ] ')' body 'end' | [ 'def' | 'defstatic' ] name body 'end'
Direct Known Subclasses
Defined in:
myst/syntax/ast.crConstructors
Instance Method Summary
-
#==(other : self)
Returns
true
if this reference is the same as other. - #block_param : Param | Nil
- #block_param=(block_param : Param | Nil)
- #block_param? : Param | Nil | Nil
- #body : Node
- #body=(body : Node)
-
#hash(hasher)
See
Object#hash(hasher)
- #name : String
- #name=(name : String)
- #params : Array(Param)
- #params=(params : Array(Param))
- #splat_index : Int32 | Nil
- #splat_index=(splat_index : Int32 | Nil)
- #splat_index? : Int32 | Nil | Nil
- #static=(static : Bool)
- #static? : Bool
Instance methods inherited from class Myst::Node
accept(visitor)
accept,
accept_children(visitor)
accept_children,
at(node : Node)at(node : Nil)
at(location : Location) at, at_end(node : Node)
at_end(node : Nil)
at_end(end_location : Location) 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(Myst::Param) = [] of Param, body : Myst::Node = Nop.new, block_param : Nil | Myst::Param = nil, splat_index : Int32 | Nil = nil, static : Bool = false)
#
Instance Method Detail
def ==(other : self)
#
Description copied from class Reference
Returns true
if this reference is the same as other. Invokes same?
.