From 4e47d03fc97ee8215a2b80be1551f1adc47623aa Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Wed, 1 May 2024 15:15:37 +0900 Subject: [PATCH] refactoring --- lib/typeprof/core/ast/sig_type.rb | 2 +- lib/typeprof/core/graph/site.rb | 5 +++-- lib/typeprof/core/graph/vertex.rb | 8 ++++---- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/typeprof/core/ast/sig_type.rb b/lib/typeprof/core/ast/sig_type.rb index cb7f358b6..20c0d4a0f 100644 --- a/lib/typeprof/core/ast/sig_type.rb +++ b/lib/typeprof/core/ast/sig_type.rb @@ -54,7 +54,7 @@ def attrs = { type_params:, block_required: } class SigTyNode < Node def covariant_vertex(genv, changes, subst) - vtx = changes.new_vertex(genv, self, subst) + vtx = changes.new_vertex(genv, self) covariant_vertex0(genv, changes, vtx, subst) vtx end diff --git a/lib/typeprof/core/graph/site.rb b/lib/typeprof/core/graph/site.rb index 31ea7f0d7..72ebfd2cb 100644 --- a/lib/typeprof/core/graph/site.rb +++ b/lib/typeprof/core/graph/site.rb @@ -19,9 +19,10 @@ def initialize(target) @new_depended_superclasses = [] end - attr_reader :sites, :diagnostics, :covariant_types + attr_reader :sites, :diagnostics - def new_vertex(genv, sig_type_node, subst) + def new_vertex(genv, sig_type_node) + # This is used to avoid duplicated vertex generation for the same sig node @covariant_types[sig_type_node] ||= Vertex.new("rbs_type", sig_type_node) end diff --git a/lib/typeprof/core/graph/vertex.rb b/lib/typeprof/core/graph/vertex.rb index 9f6ae1ca8..c86ef5be5 100644 --- a/lib/typeprof/core/graph/vertex.rb +++ b/lib/typeprof/core/graph/vertex.rb @@ -99,8 +99,8 @@ def on_type_added(genv, src_var, added_types) def on_type_removed(genv, src_var, removed_types) end - def new_vertex(genv, show_name, node) - nvtx = Vertex.new(show_name, node) + def new_vertex(genv, show_name, origin) + nvtx = Vertex.new(show_name, origin) add_edge(genv, nvtx) nvtx end @@ -191,8 +191,8 @@ def on_type_removed(genv, src_var, removed_types) end end - def new_vertex(genv, show_name, node) - nvtx = Vertex.new(show_name, node) + def new_vertex(genv, show_name, origin) + nvtx = Vertex.new(show_name, origin) add_edge(genv, nvtx) nvtx end