class Myst::Call
- Myst::Call
- Myst::Node
- Reference
- Object
Overview
A method call. Calls are the building block of functionality. Any
operation not expressed by a distinct node is considered a Call. For
example, a + b
is a call to the method +
on a
with b
as an
argument, obj.member
is a call to the method member
on obj
, etc.
Additionally, any identifier that is not known to be a local variable
(created by a SimpleAssign or MatchAssign) is considered a Call.
[ receiver '.' ] name [ block ] | [ receiver '.' ] name '(' [ arg [ ',' arg ]* ] ')' [ block ] | expression '(' [ arg [ ',' arg ]* ] ')' [ block ] | arg operator arg
Any expression can be forced into a Call by adding parentheses as a suffix. Complex expressions will require parentheses around the expression to avoid ambiguity. This is the third form shown above.
The last form is for infix operations, such as a + b
shown above, where
operator
would be the +
.
Defined in:
myst/syntax/ast.crConstructors
Instance Method Summary
-
#==(other : self)
Returns
true
if this reference is the same as other. - #accept_children(visitor)
- #args : Array(Node)
- #args=(args : Array(Node))
- #block : Block | FunctionCapture | Nil
- #block=(block : Block | FunctionCapture | Nil)
- #block? : Block | FunctionCapture | Nil | Nil
-
#hash(hasher)
See
Object#hash(hasher)
- #infix=(infix : Bool)
- #infix? : Bool
- #name : String | Node
- #name=(name : String | Node)
- #receiver : Node | Nil
- #receiver=(receiver : Node | Nil)
- #receiver? : Node | Nil | Nil
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
Instance Method Detail
Returns true
if this reference is the same as other. Invokes same?
.