class Savi::Program::Declarator::Scope

Defined in:

savi/program/declarator/scope.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new #

[View source]

Instance Method Detail

def current_body_handler #

[View source]
def current_declarator : Declarator #

[View source]
def current_declarator=(current_declarator : Declarator | Nil) #

[View source]
def current_declarator? : Declarator | Nil #

[View source]
def current_declarator_term : Declarator::TermAcceptor #

[View source]
def current_declarator_term=(current_declarator_term : Declarator::TermAcceptor | Nil) #

[View source]
def current_declarator_term? : Declarator::TermAcceptor | Nil #

[View source]
def current_ffi_link_lib : String #

[View source]
def current_ffi_link_lib=(current_ffi_link_lib : String | Nil) #

[View source]
def current_ffi_link_lib? : String | Nil #

[View source]
def current_function : Function #

[View source]
def current_function=(current_function : Function | Nil) #

[View source]
def current_function? : Function | Nil #

[View source]
def current_manifest : Packaging::Manifest #

[View source]
def current_manifest=(current_manifest : Packaging::Manifest | Nil) #

[View source]
def current_manifest? : Packaging::Manifest | Nil #

[View source]
def current_manifest_dependency : Packaging::Dependency #

[View source]
def current_manifest_dependency=(current_manifest_dependency : Packaging::Dependency | Nil) #

[View source]
def current_manifest_dependency? : Packaging::Dependency | Nil #

[View source]
def current_members : Array(TypeWithValue) #

[View source]
def current_members=(current_members : Array(TypeWithValue) | Nil) #

[View source]
def current_members? : Array(TypeWithValue) | Nil #

[View source]
def current_package : Package #

TODO These properties likely need to be more dynamic to allow arbitrary custom declarators to create their own custom contexts, which will have arbitrary names and be arbitrary interpreter objects.


[View source]
def current_package=(current_package : Package | Nil) #

[View source]
def current_package? : Package | Nil #

TODO These properties likely need to be more dynamic to allow arbitrary custom declarators to create their own custom contexts, which will have arbitrary names and be arbitrary interpreter objects.


[View source]
def current_type : Type #

[View source]
def current_type=(current_type : Type | Nil) #

[View source]
def current_type? : Type | Nil #

[View source]
def declarator_depth #

[View source]
def has_top_context?(name) #

[View source]
def include_bootstrap_declarators : Bool #

[View source]
def include_bootstrap_declarators=(include_bootstrap_declarators : Bool) #

[View source]
def includes_context?(name) #

[View source]
def on_body(&block : AST::Group -> _) #

[View source]
def pop_declarator? #

[View source]
def pop_layer? #

[View source]
def push_declarator(declare, declarator) #

[View source]
def stack_empty? #

[View source]
def top_declarator? #

[View source]
def top_declare? #

[View source]
def try_accept_body(ctx, body : AST::Group) #

[View source]
def visible_declarators(ctx) #

[View source]