class Magiika::Scope::Nested

Direct Known Subclasses

Defined in:

scope/nested_scope.cr

Constructors

Instance Method Summary

Instance methods inherited from class Magiika::Scope::Standalone

assign(name : String, meta : Node::Meta) : Nil assign, cleanup : Nil cleanup, define(name : String, meta : Node::Meta) : Nil define, exist?(name : String) : Bool exist?, exist_here?(name : String) : Bool exist_here?, find_base_scope : Scope::Standalone find_base_scope, replace(name : String, meta : Node::Meta) : Nil replace, retrieve?(name : String) : Node::Meta | Nil retrieve?

Constructor methods inherited from class Magiika::Scope::Standalone

new(name : String, position : Position | Nil = nil, variables : Hash(String, Node::Meta) = Hash(String, Node::Meta).new) new

Instance methods inherited from class Magiika::Scope

assign(name : String, meta : Node::Meta) : Nil
assign(name : String, value : TypeNode) : Nil
assign(pairs : Hash(String, TypeNode | Node::Meta))
assign
, cleanup : Nil cleanup, define(name : String, meta : Node::Meta) : Nil
define(name : String, value : TypeNode) : Nil
define(pairs : Hash(String, TypeNode | Node::Meta))
define
, exist?(name : String) : Bool exist?, exist_here?(name : String) : Bool exist_here?, find_base_scope : Scope find_base_scope, name : String name, name=(name : String) name=, position : Position position, position? : Position | Nil position?, replace(name : String, meta : Node::Meta) : Nil
replace(name : String, value : TypeNode) : Nil
replace(pairs : Hash(String, TypeNode | Node::Meta))
replace
, retrieve(name : String) : Node::Meta retrieve, retrieve?(name : String) : Node::Meta | Nil retrieve?, retrieve_fn(name : String, args : FnArgs, deep_analysis : Bool = false) : Tuple(MatchResult, Tuple(Node::Fn, Hash(String, Node)) | Nil) retrieve_fn, retrieve_fn?(name : String, args : FnArgs, deep_analysis : Bool = false) : Tuple(MatchResult, Tuple(Node::Fn, Hash(String, Node)) | Nil) | Nil retrieve_fn?, seek(&block : Scope -> R) : R | Nil forall R seek

Constructor methods inherited from class Magiika::Scope

new(name : String, position : Position | Nil = nil) new

Class methods inherited from class Magiika::Scope

use(*args, **kwargs, & : self -> R) : R forall R use

Constructor Detail

def self.new(name : String, parent : Scope, position : Position | Nil = nil, variables : Hash(String, Node::Meta) = Hash(String, Node::Meta).new) #

[View source]

Instance Method Detail

def assign(name : String, meta : Node::Meta) : Nil #
Description copied from class Magiika::Scope

assign (define or replace) a value


[View source]
def exist?(name : String) : Bool #

[View source]
def exist_elsewhere?(name : String) : Bool #

[View source]
def exist_here?(name : String) : Bool #

[View source]
def find_base_scope : Scope::Standalone #

[View source]
def replace(name : String, meta : Node::Meta) : Nil #
Description copied from class Magiika::Scope

replace an existing value


[View source]
def retrieve?(name : String) : Node::Meta | Nil #

[View source]
def seek(&block : Scope -> R) : R | Nil forall R #

[View source]