class TypeProf::Core::Narrowing::OrConstraint
Attributes
Public Class Methods
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/env/narrowing.rb, line 106 def initialize(left, right) @left = left @right = right end
Public Instance Methods
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/env/narrowing.rb, line 113 def inspect "(#{@left.inspect} | #{@right.inspect})" end
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/env/narrowing.rb, line 121 def narrow(genv, node, vtx) ret = Vertex.new(node) vtx1 = @left.narrow(genv, node, vtx) vtx2 = @right.narrow(genv, node, vtx) vtx1.add_edge(genv, ret) vtx2.add_edge(genv, ret) ret end
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/env/narrowing.rb, line 117 def negate AndConstraint.new(@left.negate, @right.negate) end