class TypeProf::Core::AST::SigFuncType::SigTyAliasNode::SigTyUnionNode::SigTySingletonNode::SigTyInstanceNode::SigTyTupleNode::SigTyVarNode::SigTyOptionalNode
Attributes
type[R]
Public Class Methods
new(raw_decl, lenv)
click to toggle source
Calls superclass method
TypeProf::Core::AST::Node::new
# File typeprof-0.30.1/lib/typeprof/core/ast/sig_type.rb, line 525 def initialize(raw_decl, lenv) super(raw_decl, lenv) @type = AST.create_rbs_type(raw_decl.type, lenv) end
Public Instance Methods
contravariant_vertex0(genv, changes, vtx, subst)
click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/sig_type.rb, line 538 def contravariant_vertex0(genv, changes, vtx, subst) @type.contravariant_vertex0(genv, changes, vtx, subst) changes.add_edge(genv, Source.new(genv.nil_type), vtx) end
covariant_vertex0(genv, changes, vtx, subst)
click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/sig_type.rb, line 533 def covariant_vertex0(genv, changes, vtx, subst) @type.covariant_vertex0(genv, changes, vtx, subst) changes.add_edge(genv, Source.new(genv.nil_type), vtx) end
show()
click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/sig_type.rb, line 543 def show s = @type.show if @type.is_a?(SigTyIntersectionNode) || @type.is_a?(SigTyUnionNode) s = "(#{ s })" end s + "?" end
subnodes(= { type: })
click to toggle source
# File typeprof-0.30.1/lib/typeprof/core/ast/sig_type.rb, line 531 def subnodes = { type: } def covariant_vertex0(genv, changes, vtx, subst) @type.covariant_vertex0(genv, changes, vtx, subst) changes.add_edge(genv, Source.new(genv.nil_type), vtx) end def contravariant_vertex0(genv, changes, vtx, subst) @type.contravariant_vertex0(genv, changes, vtx, subst) changes.add_edge(genv, Source.new(genv.nil_type), vtx) end def show s = @type.show if @type.is_a?(SigTyIntersectionNode) || @type.is_a?(SigTyUnionNode) s = "(#{ s })" end s + "?" end end