class TypeProf::Core::EscapeBox
Attributes
Public Class Methods
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/graph/box.rb, line 299 def initialize(node, genv, a_ret) super(node) @a_ret = a_ret.new_vertex(genv, node) end
Calls superclass method
TypeProf::Core::Box::new
Public Instance Methods
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/graph/box.rb, line 306 def ret = @a_ret def run0(genv, changes) return end def wrong_return_type(f_ret_show, changes) actual_ty = @a_ret.show return if actual_ty == "untyped" # XXX: too ad-hoc? msg = "expected: #{ f_ret_show }; actual: #{ actual_ty }" case @node when AST::ReturnNode changes.add_diagnostic(:code_range, msg, @node) when AST::DefNode changes.add_diagnostic(:last_stmt_code_range, msg, @node) when AST::NextNode changes.add_diagnostic(:code_range, msg, @node) when AST::CallNode changes.add_diagnostic(:block_last_stmt_code_range, msg, @node) when AST::AttrReaderMetaNode, AST::AttrAccessorMetaNode changes.add_diagnostic(:code_range, msg, @node) else pp @node.class end end end
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/graph/box.rb, line 308 def run0(genv, changes) return end
Source
# File bundled-src/typeprof-0.31.1/lib/typeprof/core/graph/box.rb, line 312 def wrong_return_type(f_ret_show, changes) actual_ty = @a_ret.show return if actual_ty == "untyped" # XXX: too ad-hoc? msg = "expected: #{ f_ret_show }; actual: #{ actual_ty }" case @node when AST::ReturnNode changes.add_diagnostic(:code_range, msg, @node) when AST::DefNode changes.add_diagnostic(:last_stmt_code_range, msg, @node) when AST::NextNode changes.add_diagnostic(:code_range, msg, @node) when AST::CallNode changes.add_diagnostic(:block_last_stmt_code_range, msg, @node) when AST::AttrReaderMetaNode, AST::AttrAccessorMetaNode changes.add_diagnostic(:code_range, msg, @node) else pp @node.class end end