abstract class Magiika::Node::Fn

Direct Known Subclasses

Defined in:

node/fn/fn.cr

Constructors

Class Method Summary

Instance Method Summary

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) #

[View source]

Class Method Detail

def self.type_base? : ::Bool #

[View source]
def self.type_meta : TypeMeta #

[View source]
def self.type_meta? : TypeMeta | ::Nil #

[View source]
def self.type_name : String #

[View source]

Instance Method Detail

def call(args : Hash(String, TypeNode)) : TypeNode #

call operation


[View source]
def call_safe(args : FnArgs, arg_scope : Scope, deep_analysis : ::Bool = false) : MatchResult | TypeNode #

[View source]
def call_safe_raise(args : FnArgs, arg_scope : Scope, deep_analysis : ::Bool = false) : TypeNode #

[View source]
def eval(scope : Scope) : self #

[View source]
def match_args(args : FnArgs, deep_analysis : ::Bool = false) : Tuple(MatchResult, Hash(String, Node) | ::Nil) #

[View source]
def name : String #

[View source]
def params : FnParams #

[View source]
def pretty_sig #

[View source]
def returns : FnRet | ::Nil #

[View source]
def to_s_internal : String #

[View source]
def type_meta : TypeMeta #

[View source]
def type_meta? : TypeMeta | ::Nil #

[View source]