abstract class Magiika::Node::Fn
- Magiika::Node::Fn
- Magiika::TypeNode
- Magiika::Node
- Reference
- Object
Direct Known Subclasses
Defined in:
node/fn/fn.crConstructors
Class Method Summary
Instance Method Summary
-
#call(args : Hash(String, TypeNode)) : TypeNode
call operation
- #call_safe(args : FnArgs, arg_scope : Scope, deep_analysis : ::Bool = false) : MatchResult | TypeNode
- #call_safe_raise(args : FnArgs, arg_scope : Scope, deep_analysis : ::Bool = false) : TypeNode
- #eval(scope : Scope) : self
- #match_args(args : FnArgs, deep_analysis : ::Bool = false) : Tuple(MatchResult, Hash(String, Node) | ::Nil)
- #name : String
- #params : FnParams
- #pretty_sig
- #returns : FnRet | ::Nil
- #to_s_internal : String
- #type_meta : TypeMeta
- #type_meta? : TypeMeta | ::Nil
Instance methods inherited from class Magiika::TypeNode
eval_type(scope : Scope) : TypeMeta
eval_type,
type_meta : TypeMeta
type_meta
Class methods inherited from class Magiika::TypeNode
eval_type(scope : Scope) : TypeMeta
eval_type,
type_base? : ::Bool
type_base?,
type_name : String
type_name
Instance methods inherited from module Magiika::EvalType
eval_type(scope : Scope) : TypeMeta
eval_type
Instance methods inherited from class Magiika::Node
eval(scope : Scope) : Node
eval,
eval_bool(scope : Scope) : ::Bool
eval_bool,
position : Position
position,
position! : Position
position!,
position? : Position | ::Nil
position?,
to_s : String
to_s,
to_s_internal : String
to_s_internal,
type_name : String
type_name
Constructor methods inherited from class Magiika::Node
new(position : Position | ::Nil = nil)
new
Class methods inherited from class Magiika::Node
to_s : String
to_s,
to_s_internal : String
to_s_internal,
type_name : String
type_name
Constructor Detail
def self.new(defining_scope : Scope, static : ::Bool, name : String, params : FnParams, returns : FnRet | ::Nil = nil, position : Position | ::Nil = nil)
#
Class Method Detail
Instance Method Detail
def call_safe(args : FnArgs, arg_scope : Scope, deep_analysis : ::Bool = false) : MatchResult | TypeNode
#
def match_args(args : FnArgs, deep_analysis : ::Bool = false) : Tuple(MatchResult, Hash(String, Node) | ::Nil)
#