class Savi::Program::Type

Defined in:

savi/program.cr

Constant Summary

KNOWN_TAGS = [:abstract, :actor, :allocated, :constructed, :enum, :hygienic, :ignores_cap, :numeric, :numeric_signed, :numeric_floating_point, :pass_by_value, :no_field_reassign, :simple_value, :singleton]

Constructors

Instance Method Summary

Constructor Detail

def self.new(cap : Savi::AST::Identifier, ident : Savi::AST::Identifier, params : Nil | Savi::AST::Group = nil) #

[View source]

Instance Method Detail

def ==(other) #
Description copied from class Reference

Returns false (other can only be a Value here).


[View source]
def add_tag(tag : Symbol) #

[View source]
def cap : AST::Identifier #

[View source]
def cap=(cap : AST::Identifier) #

[View source]
def dup(*args) #

[View source]
def dup_init(new_functions = nil) #

[View source]
def find_default_constructor! #

[View source]
def find_default_constructor? #

[View source]
def find_func!(func_name) #

[View source]
def find_func?(func_name) #

[View source]
def find_similar_function(name : String) #

[View source]
def functions : Array(Function) #

[View source]
def functions_map_cow(&block : Function -> Function) #

[View source]
def has_any_fields? #

[View source]
def has_tag?(tag : Symbol) #

[View source]
def head_hash(hasher) #

[View source]
def head_hash #

[View source]
def ident : AST::Identifier #

[View source]
def ident=(ident : AST::Identifier) #

[View source]
def ignores_cap? #

[View source]
def inspect(io : IO) #
Description copied from class Reference

Appends a String representation of this object which includes its class name, its object address and the values of all instance variables.

class Person
  def initialize(@name : String, @age : Int32)
  end
end

Person.new("John", 32).inspect # => #<Person:0x10fd31f20 @name="John", @age=32>

[View source]
def is_concrete? #

[View source]
def is_instantiable? #

[View source]
def make_link(package : Package) #

[View source]
def make_link(package : Package::Link) #

[View source]
def metadata : Hash(Symbol, Array(String) | Bool | UInt64) #

[View source]
def param_count #

[View source]
def params : AST::Group | Nil #

[View source]
def params=(params : AST::Group | Nil) #

[View source]
def tags_sorted #

[View source]