class TypeProf::Core::TypeAliasEntity
Attributes
decls[R]
type[R]
Public Class Methods
new()
click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/env/type_alias_entity.rb, line 3 def initialize @decls = Set[] @type = nil end
Public Instance Methods
add_decl(decl)
click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/env/type_alias_entity.rb, line 14 def add_decl(decl) @decls << decl @type = decl.type unless @type # TODO: report an error if there are duplicated declarations end
exist?()
click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/env/type_alias_entity.rb, line 10 def exist? !@decls.empty? end
remove_decl(decl)
click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/env/type_alias_entity.rb, line 20 def remove_decl(decl) @decls.delete(decl) || raise if @type == decl.type @type = @decls.empty? ? nil : @decls.to_a.first.type end end