diff --git a/scip_indexer/SCIPIndexer.cc b/scip_indexer/SCIPIndexer.cc index 3d3deb5c86..3d42948ec1 100644 --- a/scip_indexer/SCIPIndexer.cc +++ b/scip_indexer/SCIPIndexer.cc @@ -1150,7 +1150,7 @@ class CFGTraversal final { recv = core::cast_type_nonnull(send->recv.type).klass; } if (recv.exists()) { - auto funSym = gs.lookupMethodSymbol(recv, send->fun); + auto funSym = recv.data(gs)->findMethodTransitive(gs, send->fun); if (funSym.exists()) { // TODO(varun): For arrays, hashes etc., try to identify if the function // matches a known operator (e.g. []=), and emit an appropriate diff --git a/test/scip/testdata/alias.snapshot.rb b/test/scip/testdata/alias.snapshot.rb index b68c3fbbc1..e312881f6f 100644 --- a/test/scip/testdata/alias.snapshot.rb +++ b/test/scip/testdata/alias.snapshot.rb @@ -3,17 +3,19 @@ class X # ^ definition [..] X# alias_method :am_aaa, :aaa +# ^^^^^^^^^^^^ reference [..] Module#alias_method(). alias :a_aaa :aaa def aaa # ^^^ definition [..] X#aaa(). puts "AAA" +# ^^^^ reference [..] Kernel#puts(). end def check_alias # ^^^^^^^^^^^ definition [..] X#check_alias(). return [am_aaa, a_aaa] -# ^^^^^^ reference [..] X#am_aaa(). -# ^^^^^ reference [..] X#a_aaa(). +# ^^^^^^ reference [..] X#aaa(). +# ^^^^^ reference [..] X#aaa(). end end diff --git a/test/scip/testdata/args.snapshot.rb b/test/scip/testdata/args.snapshot.rb index bc7cc48ed6..289a10aecc 100644 --- a/test/scip/testdata/args.snapshot.rb +++ b/test/scip/testdata/args.snapshot.rb @@ -10,6 +10,7 @@ def args(x, y) # ^ reference local 2~#2634721084 if x == 2 # ^ reference local 1~#2634721084 +# ^^ reference [..] BasicObject#`==`(). z += y # ^ reference local 3~#2634721084 # ^ reference (write) local 3~#2634721084 diff --git a/test/scip/testdata/blocks_lambdas_procs.snapshot.rb b/test/scip/testdata/blocks_lambdas_procs.snapshot.rb index e2d84d6674..3ca47cf017 100644 --- a/test/scip/testdata/blocks_lambdas_procs.snapshot.rb +++ b/test/scip/testdata/blocks_lambdas_procs.snapshot.rb @@ -29,6 +29,7 @@ def lam l1 = ->(x) { # ^^ definition local 4~#1499497673 # ^^ reference [..] Kernel# +# ^^ reference [..] Kernel#lambda(). # ^ definition local 3~#1499497673 y += x # ^ reference local 1~#1499497673 @@ -38,6 +39,7 @@ def lam } l2 = lambda { |x| # ^^ definition local 6~#1499497673 +# ^^^^^^ reference [..] Kernel#lambda(). # ^ definition local 5~#1499497673 y += x # ^ reference (write) local 1~#1499497673 @@ -48,6 +50,7 @@ def lam l3 = ->(x:) { # ^^ definition local 9~#1499497673 # ^^ reference [..] Kernel# +# ^^ reference [..] Kernel#lambda(). # ^^ definition local 8~#1499497673 y += x # ^ reference local 1~#1499497673 @@ -57,6 +60,7 @@ def lam } l4 = lambda { |x:| # ^^ definition local 11~#1499497673 +# ^^^^^^ reference [..] Kernel#lambda(). # ^^ definition local 10~#1499497673 y += x # ^ reference local 1~#1499497673 @@ -95,6 +99,7 @@ def prc } p2 = proc { |x| # ^^ definition local 6~#1283111692 +# ^^^^ reference [..] Kernel#proc(). # ^ definition local 5~#1283111692 y += x # ^ reference local 1~#1283111692 @@ -115,6 +120,7 @@ def prc } p4 = proc { |x:| # ^^ definition local 11~#1283111692 +# ^^^^ reference [..] Kernel#proc(). # ^^ definition local 10~#1283111692 y += x # ^ reference local 1~#1283111692 diff --git a/test/scip/testdata/cattr.snapshot.rb b/test/scip/testdata/cattr.snapshot.rb index af63aaf7fe..1416e0ab9e 100644 --- a/test/scip/testdata/cattr.snapshot.rb +++ b/test/scip/testdata/cattr.snapshot.rb @@ -3,6 +3,7 @@ class CR # ^^ definition [..] CR# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). cattr_reader :both, :foo # ^^^^^ definition [..] CR#both(). # ^^^^^ definition [..] ``#both(). @@ -32,6 +33,7 @@ def usages class CW # ^^ definition [..] CW# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). cattr_writer :both, :foo # ^^^^^ definition [..] CW#`both=`(). # ^^^^^ definition [..] ``#`both=`(). @@ -61,11 +63,12 @@ def usages class CA # ^^ definition [..] CA# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). cattr_accessor :both, :foo # ^^^^^ definition [..] CA#`both=`(). # ^^^^^ definition [..] ``#both(). -# ^^^^^ definition [..] CA#both(). # ^^^^^ definition [..] ``#`both=`(). +# ^^^^^ definition [..] CA#both(). # ^^^^ definition [..] CA#foo(). # ^^^^ definition [..] ``#foo(). # ^^^^ definition [..] CA#`foo=`(). @@ -81,9 +84,9 @@ class CA # ^^^^ definition [..] CA#bar(). # ^^^^ definition [..] ``#bar(). # ^^^^ definition [..] ``#`bar=`(). -# ^^^^^^^^^^^^^^^^^^^ definition [..] CA#no_instance_writer(). # ^^^^^^^^^^^^^^^^^^^ definition [..] ``#no_instance_writer(). # ^^^^^^^^^^^^^^^^^^^ definition [..] ``#`no_instance_writer=`(). +# ^^^^^^^^^^^^^^^^^^^ definition [..] CA#no_instance_writer(). sig {void} def usages diff --git a/test/scip/testdata/classes.snapshot.rb b/test/scip/testdata/classes.snapshot.rb index f8deee50ba..567a618e38 100644 --- a/test/scip/testdata/classes.snapshot.rb +++ b/test/scip/testdata/classes.snapshot.rb @@ -10,10 +10,12 @@ def f() _a = C1.new # ^^ definition local 1~#3809224601 # ^^ reference [..] C1# +# ^^^ reference [..] Class#new(). _b = M2::C2.new # ^^ definition local 3~#3809224601 # ^^ reference [..] M2# # ^^ reference [..] M2#C2# +# ^^^ reference [..] Class#new(). return end end @@ -35,6 +37,7 @@ def local_class() localClass = Class.new # ^^^^^^^^^^ definition local 1~#552113551 # ^^^^^ reference [..] Class# +# ^^^ reference [..] Class#new(). # Technically, this is not supported by Sorbet (https://srb.help/3001), # but make sure we don't crash or do something weird. def localClass.myMethod() @@ -49,6 +52,7 @@ def localClass.myMethod() _m = localClass.myMethod # ^^ definition local 4~#552113551 # ^^^^^^^^^^ reference local 1~#552113551 +# ^^^^^^^^ reference [..] Object#myMethod(). return end diff --git a/test/scip/testdata/def_delegator.snapshot.rb b/test/scip/testdata/def_delegator.snapshot.rb index 54f82e9f7e..cdd2bc0d99 100644 --- a/test/scip/testdata/def_delegator.snapshot.rb +++ b/test/scip/testdata/def_delegator.snapshot.rb @@ -1,6 +1,7 @@ # typed: true require 'forwardable' +#^^^^^^^ reference [..] Kernel#require(). class MyArray1 # ^^^^^^^^ definition [..] MyArray1# @@ -8,8 +9,10 @@ class MyArray1 # ^^^^^^^^^^^ definition [..] MyArray1#inner_array(). # ^^^^^^^^^^^ definition [..] MyArray1#`inner_array=`(). extend Forwardable +# ^^^^^^ reference [..] Kernel#extend(). # ^^^^^^^^^^^ reference [..] Forwardable# def_delegator :@inner_array, :[], :get_at_index +# ^^^^^^^^^^^^^ reference [..] Forwardable#def_delegator(). # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference [..] Proc# # ^^^^^^^^^^^^^ definition [..] MyArray1#get_at_index(). end @@ -17,12 +20,15 @@ class MyArray1 class MyArray2 # ^^^^^^^^ definition [..] MyArray2# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). attr_accessor :inner_array # ^^^^^^^^^^^ definition [..] MyArray2#inner_array(). # ^^^^^^^^^^^ definition [..] MyArray2#`inner_array=`(). extend Forwardable +# ^^^^^^ reference [..] Kernel#extend(). # ^^^^^^^^^^^ reference [..] Forwardable# def_delegator :@inner_array, :[], :get_at_index +# ^^^^^^^^^^^^^ reference [..] Forwardable#def_delegator(). # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference [..] Proc# # ^^^^^^^^^^^^^ definition [..] MyArray2#get_at_index(). end @@ -33,8 +39,10 @@ class MyArray3 # ^^^^^^^^^^^ definition [..] MyArray3#inner_array(). # ^^^^^^^^^^^ definition [..] MyArray3#`inner_array=`(). extend Forwardable +# ^^^^^^ reference [..] Kernel#extend(). # ^^^^^^^^^^^ reference [..] Forwardable# def_delegators :@inner_array, :size, :<<, :map +# ^^^^^^^^^^^^^^ reference [..] Forwardable#def_delegators(). # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference [..] Proc# # ^^^^^ definition [..] MyArray3#size(). # ^^^ definition [..] MyArray3#`<<`(). @@ -44,12 +52,15 @@ class MyArray3 class MyArray4 # ^^^^^^^^ definition [..] MyArray4# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). attr_accessor :inner_array # ^^^^^^^^^^^ definition [..] MyArray4#inner_array(). # ^^^^^^^^^^^ definition [..] MyArray4#`inner_array=`(). extend Forwardable +# ^^^^^^ reference [..] Kernel#extend(). # ^^^^^^^^^^^ reference [..] Forwardable# def_delegators :@inner_array, :size, :<<, :map +# ^^^^^^^^^^^^^^ reference [..] Forwardable#def_delegators(). # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference [..] Proc# # ^^^^^ definition [..] MyArray4#size(). # ^^^ definition [..] MyArray4#`<<`(). diff --git a/test/scip/testdata/delegate.snapshot.rb b/test/scip/testdata/delegate.snapshot.rb index d177aa4421..7195a1d66d 100644 --- a/test/scip/testdata/delegate.snapshot.rb +++ b/test/scip/testdata/delegate.snapshot.rb @@ -3,6 +3,7 @@ class MethodNameManipulation # ^^^^^^^^^^^^^^^^^^^^^^ definition [..] MethodNameManipulation# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). delegate :ball, to: :thing, private: true, allow_nil: true # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference [..] Proc# # ^^^^^ definition [..] MethodNameManipulation#ball(). diff --git a/test/scip/testdata/encrypted_prop.snapshot.rb b/test/scip/testdata/encrypted_prop.snapshot.rb index 143bfa17bb..808bf45035 100644 --- a/test/scip/testdata/encrypted_prop.snapshot.rb +++ b/test/scip/testdata/encrypted_prop.snapshot.rb @@ -21,6 +21,7 @@ class Opus::DB::Model::Mixins::Encryptable::EncryptedValue < Chalk::ODM::Documen class EncryptedProp # ^^^^^^^^^^^^^ definition [..] EncryptedProp# include T::Props +# ^^^^^^^ reference [..] Module#include(). def self.encrypted_prop(opts={}); end # ^^^^^^^^^^^^^^ definition [..] ``#encrypted_prop(). encrypted_prop :foo @@ -40,11 +41,14 @@ def f # ^ definition [..] Object#f(). EncryptedProp.new.foo = "hello" # ^^^^^^^^^^^^^ reference [..] EncryptedProp# +# ^^^ reference [..] Class#new(). # ^^^^^ reference [..] EncryptedProp#`foo=`(). EncryptedProp.new.foo = nil # ^^^^^^^^^^^^^ reference [..] EncryptedProp# +# ^^^ reference [..] Class#new(). # ^^^^^ reference [..] EncryptedProp#`foo=`(). return EncryptedProp.new.encrypted_foo # ^^^^^^^^^^^^^ reference [..] EncryptedProp# +# ^^^ reference [..] Class#new(). # ^^^^^^^^^^^^^ reference [..] EncryptedProp#encrypted_foo(). end diff --git a/test/scip/testdata/fields_and_attrs.snapshot.rb b/test/scip/testdata/fields_and_attrs.snapshot.rb index 863851472a..dfb2162bed 100644 --- a/test/scip/testdata/fields_and_attrs.snapshot.rb +++ b/test/scip/testdata/fields_and_attrs.snapshot.rb @@ -54,6 +54,8 @@ def m2 # ^^ definition [..] L#m2(). # FIXME: Missing references self.class.y = self.class.x +# ^^^^^ reference [..] Object#class(). +# ^^^^^ reference [..] Object#class(). return end end @@ -85,6 +87,8 @@ def m3 # ^^ definition [..] N#m3(). # FIXME: Missing references self.class.b = self.class.a +# ^^^^^ reference [..] Object#class(). +# ^^^^^ reference [..] Object#class(). end end @@ -127,6 +131,7 @@ def useP p = P.new # ^ definition local 1~#2121829932 # ^ reference [..] P# +# ^^^ reference [..] Class#new(). p.a = p.r # ^ reference local 1~#2121829932 # ^^^ reference [..] P#`a=`(). diff --git a/test/scip/testdata/flatfile_dsl.snapshot.rb b/test/scip/testdata/flatfile_dsl.snapshot.rb index 048b2d10f6..bd28fbec50 100644 --- a/test/scip/testdata/flatfile_dsl.snapshot.rb +++ b/test/scip/testdata/flatfile_dsl.snapshot.rb @@ -16,14 +16,18 @@ class Flatfile < Record # ^^^^^^^^ definition [..] Flatfile# # ^^^^^^ definition [..] Record# flatfile do +# ^^^^^^^^ reference [..] ``#flatfile(). from 1..2, :foo +# ^^^^ reference [..] ``#from(). # ^^^^ definition [..] Flatfile#`foo=`(). # ^^^^ definition [..] Flatfile#foo(). pattern(/A-Za-z/, :bar) +# ^^^^^^^ reference [..] ``#pattern(). # ^^^^^^^^ reference [..] Regexp# -# ^^^^ definition [..] Flatfile#bar(). # ^^^^ definition [..] Flatfile#`bar=`(). +# ^^^^ definition [..] Flatfile#bar(). field :baz +# ^^^^^ reference [..] ``#field(). # ^^^^ definition [..] Flatfile#baz(). # ^^^^ definition [..] Flatfile#`baz=`(). end @@ -32,6 +36,7 @@ class Flatfile < Record t = Flatfile.new #^ definition local 1~#119448696 # ^^^^^^^^ reference [..] Flatfile# +# ^^^ reference [..] Class#new(). t.foo = t.foo + 1 #^ reference local 1~#119448696 # ^^^^^ reference [..] Flatfile#`foo=`(). diff --git a/test/scip/testdata/hoverdocs.snapshot.rb b/test/scip/testdata/hoverdocs.snapshot.rb index 3f37950e45..8436c37f51 100644 --- a/test/scip/testdata/hoverdocs.snapshot.rb +++ b/test/scip/testdata/hoverdocs.snapshot.rb @@ -11,6 +11,7 @@ class C1 # documentation # | Class doc comment extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). def m1 # ^^ definition [..] C1#m1(). @@ -171,6 +172,7 @@ module M2 # documentation # | This module is nested inside M1 extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). # This method is inside M1::M2 sig { returns(T::Boolean) } @@ -248,6 +250,7 @@ def f3 # undocumented global function end extend T::Sig +#^^^^^^ reference [..] Kernel#extend(). # ^ reference [..] T# # ^^^ reference [..] T#Sig# diff --git a/test/scip/testdata/inheritance.snapshot.rb b/test/scip/testdata/inheritance.snapshot.rb index 8556c248a1..3560b8ce1b 100644 --- a/test/scip/testdata/inheritance.snapshot.rb +++ b/test/scip/testdata/inheritance.snapshot.rb @@ -3,6 +3,7 @@ class Z1 # ^^ definition [..] Z1# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). sig { params(a: T::Boolean).void } # ^^^^^^^ reference [..] T#Boolean. @@ -27,6 +28,7 @@ def read_f? class Z2 # ^^ definition [..] Z2# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). sig { returns(T::Boolean) } # ^^^^^^^ reference [..] T#Boolean. @@ -52,6 +54,7 @@ class Z3 < Z1 # ^^ definition [..] Z3# # ^^ definition [..] Z1# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). sig { returns(T::Boolean) } # ^^^^^^^ reference [..] T#Boolean. @@ -66,6 +69,7 @@ class Z4 < Z3 # ^^ definition [..] Z4# # ^^ definition [..] Z3# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). sig { params(a: T::Boolean).void } # ^^^^^^^ reference [..] T#Boolean. @@ -73,10 +77,12 @@ def write_f_plus_1(a) # ^^^^^^^^^^^^^^ definition [..] Z4#write_f_plus_1(). # ^ definition local 1~#3337417690 write_f(a) +# ^^^^^^^ reference [..] Z1#write_f(). # ^ reference local 1~#3337417690 @f = read_f_plus_1? # ^^ definition [..] Z4#`@f`. # ^^^^^^^^^^^^^^^^^^^ reference [..] Z4#`@f`. +# ^^^^^^^^^^^^^^ reference [..] Z3#`read_f_plus_1?`(). end end diff --git a/test/scip/testdata/loops_and_conditionals.snapshot.rb b/test/scip/testdata/loops_and_conditionals.snapshot.rb index 4a872437c8..b15dbad5a3 100644 --- a/test/scip/testdata/loops_and_conditionals.snapshot.rb +++ b/test/scip/testdata/loops_and_conditionals.snapshot.rb @@ -39,6 +39,7 @@ def if_elsif_else() # ^ reference (write) local 3~#2393773952 # ^ reference local 3~#2393773952 # ^ reference local 3~#2393773952 +# ^^ reference [..] BasicObject#`!=`(). return end @@ -98,6 +99,7 @@ def for(xs) # ^ definition local 2~#2901640080 # ^^ reference local 1~#2901640080 puts e +# ^^^^ reference [..] Kernel#puts(). # ^ reference local 2~#2901640080 end @@ -109,18 +111,23 @@ def for(xs) # ^ reference local 3~#2901640080 next if g == 0 # ^ reference local 4~#2901640080 +# ^^ reference [..] BasicObject#`==`(). next g+1 if g == 1 # ^ reference local 4~#2901640080 # ^ reference local 4~#2901640080 +# ^^ reference [..] BasicObject#`==`(). break if g == 2 # ^ reference local 4~#2901640080 +# ^^ reference [..] BasicObject#`==`(). break g+1 if g == 3 # ^ reference local 4~#2901640080 # ^ reference local 4~#2901640080 +# ^^ reference [..] BasicObject#`==`(). # NOTE: redo is unsupported (https://srb.help/3003) # but emitting a reference here does work redo if g == 4 # ^ reference local 4~#2901640080 +# ^^ reference [..] BasicObject#`==`(). end end @@ -132,6 +139,7 @@ def while(xs) while i < 10 # ^ reference local 2~#231090382 puts xs[i] +# ^^^^ reference [..] Kernel#puts(). # ^^ reference local 1~#231090382 # ^ reference local 2~#231090382 end @@ -146,18 +154,23 @@ def while(xs) # ^ reference local 3~#231090382 next if g == 0 # ^ reference local 4~#231090382 +# ^^ reference [..] BasicObject#`==`(). next g+1 if g == 1 # ^ reference local 4~#231090382 # ^ reference local 4~#231090382 +# ^^ reference [..] BasicObject#`==`(). break if g == 2 # ^ reference local 4~#231090382 +# ^^ reference [..] BasicObject#`==`(). break g+1 if g == 3 # ^ reference local 4~#231090382 # ^ reference local 4~#231090382 +# ^^ reference [..] BasicObject#`==`(). # NOTE: redo is unsupported (https://srb.help/3003) # but emitting a reference here does work redo if g == 4 # ^ reference local 4~#231090382 +# ^^ reference [..] BasicObject#`==`(). end end @@ -169,6 +182,7 @@ def until(xs) until i > 10 # ^ reference local 2~#3132432719 puts xs[i] +# ^^^^ reference [..] Kernel#puts(). # ^^ reference local 1~#3132432719 # ^ reference local 2~#3132432719 end @@ -183,18 +197,23 @@ def until(xs) # ^ reference local 3~#3132432719 next if g == 0 # ^ reference local 4~#3132432719 +# ^^ reference [..] BasicObject#`==`(). next g+1 if g == 1 # ^ reference local 4~#3132432719 # ^ reference local 4~#3132432719 +# ^^ reference [..] BasicObject#`==`(). break if g == 2 # ^ reference local 4~#3132432719 +# ^^ reference [..] BasicObject#`==`(). break g+1 if g == 3 # ^ reference local 4~#3132432719 # ^ reference local 4~#3132432719 +# ^^ reference [..] BasicObject#`==`(). # NOTE: redo is unsupported (https://srb.help/3003) # but emitting a reference here does work redo if g == 4 # ^ reference local 4~#3132432719 +# ^^ reference [..] BasicObject#`==`(). end end diff --git a/test/scip/testdata/mattr.snapshot.rb b/test/scip/testdata/mattr.snapshot.rb index abbc161f71..34b52e36c9 100644 --- a/test/scip/testdata/mattr.snapshot.rb +++ b/test/scip/testdata/mattr.snapshot.rb @@ -3,6 +3,7 @@ class MR # ^^ definition [..] MR# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). mattr_reader :both, :foo # ^^^^^ definition [..] MR#both(). # ^^^^^ definition [..] ``#both(). @@ -32,6 +33,7 @@ def usages class MW # ^^ definition [..] MW# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). mattr_writer :both, :foo # ^^^^^ definition [..] MW#`both=`(). # ^^^^^ definition [..] ``#`both=`(). @@ -61,11 +63,12 @@ def usages class MA # ^^ definition [..] MA# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). mattr_accessor :both, :foo # ^^^^^ definition [..] MA#`both=`(). # ^^^^^ definition [..] ``#both(). -# ^^^^^ definition [..] MA#both(). # ^^^^^ definition [..] ``#`both=`(). +# ^^^^^ definition [..] MA#both(). # ^^^^ definition [..] MA#foo(). # ^^^^ definition [..] ``#foo(). # ^^^^ definition [..] MA#`foo=`(). @@ -81,9 +84,9 @@ class MA # ^^^^ definition [..] MA#bar(). # ^^^^ definition [..] ``#bar(). # ^^^^ definition [..] ``#`bar=`(). -# ^^^^^^^^^^^^^^^^^^^ definition [..] MA#no_instance_writer(). # ^^^^^^^^^^^^^^^^^^^ definition [..] ``#no_instance_writer(). # ^^^^^^^^^^^^^^^^^^^ definition [..] ``#`no_instance_writer=`(). +# ^^^^^^^^^^^^^^^^^^^ definition [..] MA#no_instance_writer(). sig {void} def usages diff --git a/test/scip/testdata/method_inheritance.rb b/test/scip/testdata/method_inheritance.rb new file mode 100644 index 0000000000..6d152f9a06 --- /dev/null +++ b/test/scip/testdata/method_inheritance.rb @@ -0,0 +1,18 @@ +# typed: true + +class C1 + def m1 + end + + def m2 + end +end + +class C2 < C1 + def m2 + end + def m3 + m1 + m2 + end +end diff --git a/test/scip/testdata/method_inheritance.snapshot.rb b/test/scip/testdata/method_inheritance.snapshot.rb new file mode 100644 index 0000000000..0506275977 --- /dev/null +++ b/test/scip/testdata/method_inheritance.snapshot.rb @@ -0,0 +1,27 @@ + # typed: true + + class C1 +# ^^ definition [..] C1# + def m1 +# ^^ definition [..] C1#m1(). + end + + def m2 +# ^^ definition [..] C1#m2(). + end + end + + class C2 < C1 +# ^^ definition [..] C2# +# ^^ definition [..] C1# + def m2 +# ^^ definition [..] C2#m2(). + end + def m3 +# ^^ definition [..] C2#m3(). + m1 +# ^^ reference [..] C1#m1(). + m2 +# ^^ reference [..] C2#m2(). + end + end diff --git a/test/scip/testdata/minitest.snapshot.rb b/test/scip/testdata/minitest.snapshot.rb index f9c7874cd9..37e9a4b099 100644 --- a/test/scip/testdata/minitest.snapshot.rb +++ b/test/scip/testdata/minitest.snapshot.rb @@ -14,6 +14,7 @@ def outside_method # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ definition [..] MyTest#``(). CONST = 10 # ^^^^^ definition [..] MyTest#CONST. +# ^^^^^^^^^^ reference [..] Kernel#raise(). # ^^^^^^^^^^ reference [..] Kernel# end @@ -22,6 +23,7 @@ def outside_method C2 = T.let(10, Integer) # ^^ definition [..] MyTest#C2. # ^^^^^^^^^^^^^^^^^^^^^^^ reference [..] Kernel# +# ^^^^^^^^^^^^^^^^^^^^^^^ reference [..] Kernel#raise(). # ^^^^^^^ definition local 9~#119448696 # ^^^^^^^ reference [..] Integer# end @@ -86,7 +88,9 @@ def self.it(*args) # ^^ reference [..] ``#it(). junk.it "ignores non-self calls" do +# ^^^^ reference [..] Object#junk(). junk +# ^^^^ reference [..] Object#junk(). end describe "a non-ideal situation" do diff --git a/test/scip/testdata/multifile/basic/def_class1.snapshot.rb b/test/scip/testdata/multifile/basic/def_class1.snapshot.rb index 3435f1bcf9..16c892df67 100644 --- a/test/scip/testdata/multifile/basic/def_class1.snapshot.rb +++ b/test/scip/testdata/multifile/basic/def_class1.snapshot.rb @@ -3,6 +3,7 @@ class C1 # ^^ definition [..] C1# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). sig { returns(T::Boolean) } # ^^^^^^^ reference [..] T#Boolean. diff --git a/test/scip/testdata/multifile/basic/use_class1.snapshot.rb b/test/scip/testdata/multifile/basic/use_class1.snapshot.rb index f8c8f62791..2fd8160570 100644 --- a/test/scip/testdata/multifile/basic/use_class1.snapshot.rb +++ b/test/scip/testdata/multifile/basic/use_class1.snapshot.rb @@ -2,6 +2,7 @@ # options: showDocs require 'def_class1' +#^^^^^^^ reference [..] Kernel#require(). b = C1.new.m1 #^ definition local 2~#119448696 @@ -10,4 +11,5 @@ #| b (T::Boolean) #| ``` # ^^ reference [..] C1# +# ^^^ reference [..] Class#new(). # ^^ reference [..] C1#m1(). diff --git a/test/scip/testdata/multifile/typed-false-mix/use_untyped.snapshot.rb b/test/scip/testdata/multifile/typed-false-mix/use_untyped.snapshot.rb index a1e2e79eaa..8f20caae11 100644 --- a/test/scip/testdata/multifile/typed-false-mix/use_untyped.snapshot.rb +++ b/test/scip/testdata/multifile/typed-false-mix/use_untyped.snapshot.rb @@ -1,6 +1,7 @@ # typed: true require 'def_untyped' +#^^^^^^^ reference [..] Kernel#require(). module N # ^ definition [..] N# diff --git a/test/scip/testdata/prop.snapshot.rb b/test/scip/testdata/prop.snapshot.rb index 81bf4bda81..e6d114bf8d 100644 --- a/test/scip/testdata/prop.snapshot.rb +++ b/test/scip/testdata/prop.snapshot.rb @@ -3,7 +3,9 @@ class SomeODM # ^^^^^^^ definition [..] SomeODM# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). include T::Props +# ^^^^^^^ reference [..] Module#include(). prop :foo, String # ^^^ definition [..] SomeODM#`foo=`(). @@ -36,6 +38,7 @@ class ForeignClass class AdvancedODM # ^^^^^^^^^^^ definition [..] AdvancedODM# include T::Props +# ^^^^^^^ reference [..] Module#include(). prop :default, String, default: "" # ^^^^^^^ definition [..] AdvancedODM#default(). # ^^^^^^^ definition [..] AdvancedODM#`default=`(). @@ -50,12 +53,12 @@ class AdvancedODM # ^^^^^ definition [..] AdvancedODM#`array=`(). # ^^^^^ reference [..] Array# prop :t_array, T::Array[String] -# ^^^^^^^ definition [..] AdvancedODM#t_array(). # ^^^^^^^ definition [..] AdvancedODM#`t_array=`(). +# ^^^^^^^ definition [..] AdvancedODM#t_array(). # ^^^^^^ reference [..] String# prop :hash_of, T::Hash[Symbol, String] -# ^^^^^^^ definition [..] AdvancedODM#hash_of(). # ^^^^^^^ definition [..] AdvancedODM#`hash_of=`(). +# ^^^^^^^ definition [..] AdvancedODM#hash_of(). # ^^^^^^ reference [..] Symbol# # ^^^^^^ reference [..] String# @@ -67,42 +70,45 @@ class AdvancedODM # ^^^^^^ reference [..] String# prop :enum_prop, String, enum: ["hello", "goodbye"] -# ^^^^^^^^^ definition [..] AdvancedODM#`enum_prop=`(). # ^^^^^^^^^ definition [..] AdvancedODM#enum_prop(). +# ^^^^^^^^^ definition [..] AdvancedODM#`enum_prop=`(). # ^^^^^^ reference [..] String# prop :foreign_lazy, String, foreign: -> {ForeignClass} # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference [..] T#Boolean. +# ^^^^^^^^^^^^ definition [..] AdvancedODM#`foreign_lazy_!`(). +# ^^^^^^^^^^^^ definition [..] AdvancedODM#foreign_lazy_(). # ^^^^^^^^^^^^ definition [..] AdvancedODM#foreign_lazy(). # ^^^^^^^^^^^^ definition [..] AdvancedODM#`foreign_lazy=`(). -# ^^^^^^^^^^^^ definition [..] AdvancedODM#foreign_lazy_(). -# ^^^^^^^^^^^^ definition [..] AdvancedODM#`foreign_lazy_!`(). # ^^^^^^ reference [..] String# # ^^ reference [..] Kernel# +# ^^ reference [..] Kernel#lambda(). # ^^^^^^^^^^^^ reference [..] ForeignClass# prop :foreign_proc, String, foreign: proc {ForeignClass} # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference [..] T#Boolean. -# ^^^^^^^^^^^^ definition [..] AdvancedODM#foreign_proc(). # ^^^^^^^^^^^^ definition [..] AdvancedODM#`foreign_proc_!`(). # ^^^^^^^^^^^^ definition [..] AdvancedODM#foreign_proc_(). # ^^^^^^^^^^^^ definition [..] AdvancedODM#`foreign_proc=`(). +# ^^^^^^^^^^^^ definition [..] AdvancedODM#foreign_proc(). # ^^^^^^ reference [..] String# +# ^^^^ reference [..] Kernel#proc(). # ^^^^^^^^^^^^ reference [..] ForeignClass# prop :foreign_invalid, String, foreign: proc { :not_a_type } # ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ reference [..] T#Boolean. -# ^^^^^^^^^^^^^^^ definition [..] AdvancedODM#foreign_invalid(). -# ^^^^^^^^^^^^^^^ definition [..] AdvancedODM#`foreign_invalid=`(). # ^^^^^^^^^^^^^^^ definition [..] AdvancedODM#`foreign_invalid_!`(). +# ^^^^^^^^^^^^^^^ definition [..] AdvancedODM#`foreign_invalid=`(). # ^^^^^^^^^^^^^^^ definition [..] AdvancedODM#foreign_invalid_(). +# ^^^^^^^^^^^^^^^ definition [..] AdvancedODM#foreign_invalid(). # ^^^^^^ reference [..] String# +# ^^^^ reference [..] Kernel#proc(). prop :ifunset, String, ifunset: '' -# ^^^^^^^ definition [..] AdvancedODM#`ifunset=`(). # ^^^^^^^ definition [..] AdvancedODM#ifunset(). +# ^^^^^^^ definition [..] AdvancedODM#`ifunset=`(). # ^^^^^^ reference [..] String# prop :ifunset_nilable, T.nilable(String), ifunset: '' -# ^^^^^^^^^^^^^^^ definition [..] AdvancedODM#`ifunset_nilable=`(). # ^^^^^^^^^^^^^^^ definition [..] AdvancedODM#ifunset_nilable(). +# ^^^^^^^^^^^^^^^ definition [..] AdvancedODM#`ifunset_nilable=`(). # ^^^^^^ reference [..] String# prop :empty_hash_rules, String, {} @@ -110,14 +116,15 @@ class AdvancedODM # ^^^^^^^^^^^^^^^^ definition [..] AdvancedODM#`empty_hash_rules=`(). # ^^^^^^ reference [..] String# prop :hash_rules, String, { enum: ["hello", "goodbye" ] } -# ^^^^^^^^^^ definition [..] AdvancedODM#`hash_rules=`(). # ^^^^^^^^^^ definition [..] AdvancedODM#hash_rules(). +# ^^^^^^^^^^ definition [..] AdvancedODM#`hash_rules=`(). # ^^^^^^ reference [..] String# end class PropHelpers # ^^^^^^^^^^^ definition [..] PropHelpers# include T::Props +# ^^^^^^^ reference [..] Module#include(). def self.token_prop(opts={}); end # ^^^^^^^^^^ definition [..] ``#token_prop(). def self.created_prop(opts={}); end @@ -137,15 +144,16 @@ def self.created_prop(opts={}); end class PropHelpers2 # ^^^^^^^^^^^^ definition [..] PropHelpers2# include T::Props +# ^^^^^^^ reference [..] Module#include(). def self.timestamped_token_prop(opts={}); end # ^^^^^^^^^^^^^^^^^^^^^^ definition [..] ``#timestamped_token_prop(). def self.created_prop(opts={}); end # ^^^^^^^^^^^^ definition [..] ``#created_prop(). timestamped_token_prop -# ^^^^^^^^^^^^^^^^^^^^^^ reference [..] String# # ^^^^^^^^^^^^^^^^^^^^^^ reference [..] ``#timestamped_token_prop(). -# ^^^^^ definition [..] PropHelpers2#token(). +# ^^^^^^^^^^^^^^^^^^^^^^ reference [..] String# # ^^^^^ definition [..] PropHelpers2#`token=`(). +# ^^^^^ definition [..] PropHelpers2#token(). created_prop(immutable: true) # ^^^^^^^^^^^^ reference [..] ``#created_prop(). # ^^^^^^^^^^^^^^^^^^^^^^^^ definition [..] PropHelpers2#created(). @@ -156,108 +164,141 @@ def main # ^^^^ definition [..] Object#main(). SomeODM.new.foo # ^^^^^^^ reference [..] SomeODM# +# ^^^ reference [..] Class#new(). # ^^^ reference [..] SomeODM#foo(). SomeODM.new.foo = 'b' # ^^^^^^^ reference [..] SomeODM# +# ^^^ reference [..] Class#new(). # ^^^^^ reference [..] SomeODM#`foo=`(). SomeODM.new.foo2 # ^^^^^^^ reference [..] SomeODM# +# ^^^ reference [..] Class#new(). # ^^^^ reference [..] SomeODM#foo2(). SomeODM.new.foo2 = 'b' # ^^^^^^^ reference [..] SomeODM# +# ^^^ reference [..] Class#new(). # ^^^^^^ reference [..] SomeODM#`foo2=`(). AdvancedODM.new.default # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). # ^^^^^^^ reference [..] AdvancedODM#default(). AdvancedODM.new.t_nilable # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). # ^^^^^^^^^ reference [..] AdvancedODM#t_nilable(). AdvancedODM.new.t_array # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). # ^^^^^^^ reference [..] AdvancedODM#t_array(). AdvancedODM.new.hash_of # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). # ^^^^^^^ reference [..] AdvancedODM#hash_of(). AdvancedODM.new.const_explicit # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). # ^^^^^^^^^^^^^^ reference [..] AdvancedODM#const_explicit(). AdvancedODM.new.const_explicit = 'b' # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). AdvancedODM.new.const # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). # ^^^^^ reference [..] AdvancedODM#const(). AdvancedODM.new.const = 'b' # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). AdvancedODM.new.enum_prop # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). # ^^^^^^^^^ reference [..] AdvancedODM#enum_prop(). AdvancedODM.new.enum_prop = "hello" # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). # ^^^^^^^^^^^ reference [..] AdvancedODM#`enum_prop=`(). AdvancedODM.new.foreign_ # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). AdvancedODM.new.foreign_ # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). AdvancedODM.new.foreign_lazy_ # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). # ^^^^^^^^^^^^^ reference [..] AdvancedODM#foreign_lazy_(). # Check that the method still exists even if we can't parse the type AdvancedODM.new.foreign_invalid_ # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). # ^^^^^^^^^^^^^^^^ reference [..] AdvancedODM#foreign_invalid_(). PropHelpers.new.token # ^^^^^^^^^^^ reference [..] PropHelpers# +# ^^^ reference [..] Class#new(). # ^^^^^ reference [..] PropHelpers#token(). PropHelpers.new.token = "tok_token" # ^^^^^^^^^^^ reference [..] PropHelpers# +# ^^^ reference [..] Class#new(). # ^^^^^^^ reference [..] PropHelpers#`token=`(). PropHelpers.new.token = nil # ^^^^^^^^^^^ reference [..] PropHelpers# +# ^^^ reference [..] Class#new(). # ^^^^^^^ reference [..] PropHelpers#`token=`(). PropHelpers.new.created # ^^^^^^^^^^^ reference [..] PropHelpers# +# ^^^ reference [..] Class#new(). # ^^^^^^^ reference [..] PropHelpers#created(). PropHelpers.new.created = 0.0 # ^^^^^^^^^^^ reference [..] PropHelpers# +# ^^^ reference [..] Class#new(). # ^^^^^^^^^ reference [..] PropHelpers#`created=`(). PropHelpers.new.created = nil # ^^^^^^^^^^^ reference [..] PropHelpers# +# ^^^ reference [..] Class#new(). # ^^^^^^^^^ reference [..] PropHelpers#`created=`(). PropHelpers2.new.token # ^^^^^^^^^^^^ reference [..] PropHelpers2# +# ^^^ reference [..] Class#new(). # ^^^^^ reference [..] PropHelpers2#token(). PropHelpers2.new.token = "tok_token" # ^^^^^^^^^^^^ reference [..] PropHelpers2# +# ^^^ reference [..] Class#new(). # ^^^^^^^ reference [..] PropHelpers2#`token=`(). PropHelpers2.new.token = nil # ^^^^^^^^^^^^ reference [..] PropHelpers2# +# ^^^ reference [..] Class#new(). # ^^^^^^^ reference [..] PropHelpers2#`token=`(). PropHelpers2.new.created # ^^^^^^^^^^^^ reference [..] PropHelpers2# +# ^^^ reference [..] Class#new(). # ^^^^^^^ reference [..] PropHelpers2#created(). PropHelpers2.new.created = 0.0 # ^^^^^^^^^^^^ reference [..] PropHelpers2# +# ^^^ reference [..] Class#new(). AdvancedODM.new.ifunset # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). # ^^^^^^^ reference [..] AdvancedODM#ifunset(). AdvancedODM.new.ifunset_nilable # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). # ^^^^^^^^^^^^^^^ reference [..] AdvancedODM#ifunset_nilable(). AdvancedODM.new.ifunset = nil # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). # ^^^^^^^^^ reference [..] AdvancedODM#`ifunset=`(). AdvancedODM.new.ifunset_nilable = nil # ^^^^^^^^^^^ reference [..] AdvancedODM# +# ^^^ reference [..] Class#new(). # ^^^^^^^^^^^^^^^^^ reference [..] AdvancedODM#`ifunset_nilable=`(). end diff --git a/test/scip/testdata/rescue.snapshot.rb b/test/scip/testdata/rescue.snapshot.rb index c2102e69fb..bcd306a0fa 100644 --- a/test/scip/testdata/rescue.snapshot.rb +++ b/test/scip/testdata/rescue.snapshot.rb @@ -9,13 +9,17 @@ def handle(e) # ^^^^^^ definition [..] Object#handle(). # ^ definition local 1~#780127187 puts e.inspect.to_s +# ^^^^ reference [..] Kernel#puts(). # ^ reference local 1~#780127187 +# ^^^^^^^ reference [..] Kernel#inspect(). +# ^^^^ reference [..] Kernel#to_s(). end def f # ^ definition [..] Object#f(). begin raise 'This exception will be rescued!' +# ^^^^^ reference [..] Kernel#raise(). rescue MyError => e1 # ^^^^^^^ reference local 1~#3809224601 # ^^^^^^^ reference [..] MyError# diff --git a/test/scip/testdata/singleton.snapshot.rb b/test/scip/testdata/singleton.snapshot.rb index 82901b445e..4459e21c0c 100644 --- a/test/scip/testdata/singleton.snapshot.rb +++ b/test/scip/testdata/singleton.snapshot.rb @@ -3,6 +3,7 @@ class A # ^ definition [..] A# include Singleton +# ^^^^^^^ reference [..] Module#include(). # ^^^^^^^^^^^^^^^^^ definition [..] ``#instance(). # ^^^^^^^^^ reference [..] Singleton# end @@ -15,9 +16,11 @@ class B < A; end class C # ^ definition [..] C# include Singleton +# ^^^^^^^ reference [..] Module#include(). # ^^^^^^^^^^^^^^^^^ definition [..] ``#instance(). # ^^^^^^^^^ reference [..] Singleton# extend T::Helpers +# ^^^^^^ reference [..] Kernel#extend(). final! end @@ -27,6 +30,7 @@ def f # ^ reference [..] A# # ^^^^^^^^ reference [..] ``#instance(). # ^ reference [..] B# +# ^^^^^^^^ reference [..] ``#instance(). # ^ reference [..] C# # ^^^^^^^^ reference [..] ``#instance(). end diff --git a/test/scip/testdata/struct.snapshot.rb b/test/scip/testdata/struct.snapshot.rb index 5628793687..5c577768a6 100644 --- a/test/scip/testdata/struct.snapshot.rb +++ b/test/scip/testdata/struct.snapshot.rb @@ -7,8 +7,8 @@ class S < T::Struct # ^ reference [..] T# # ^^^^^^ definition [..] T#Struct# prop :prop_i, Integer -# ^^^^^^ definition [..] S#prop_i(). # ^^^^^^ definition [..] S#`prop_i=`(). +# ^^^^^^ definition [..] S#prop_i(). # ^^^^^^^ reference [..] Integer# const :const_s, T.nilable(String) # ^^^^^^^ definition [..] S#const_s(). @@ -23,6 +23,7 @@ def f s = S.new(prop_i: 3) # ^ definition local 1~#3809224601 # ^ reference [..] S# +# ^^^ reference [..] Class#new(). _ = s.prop_i.to_s + s.const_s + s.const_f.to_s + s.serialize.to_s # ^ definition local 3~#3809224601 # ^ reference local 1~#3809224601 @@ -37,6 +38,8 @@ def f # ^^^^ reference [..] Float#to_s(). # ^ reference [..] String#+(). # ^ reference local 1~#3809224601 +# ^^^^^^^^^ reference [..] T#Props#Serializable#serialize(). +# ^^^^ reference [..] Kernel#to_s(). s.prop_i = 4 # ^ reference local 1~#3809224601 # ^^^^^^^^ reference [..] S#`prop_i=`(). @@ -67,6 +70,7 @@ def g p = POINT.new(0, 1) # ^ definition local 1~#3792446982 # ^^^^^ reference [..] POINT# +# ^^^ reference [..] Class#new(). a = p.array # ^ definition local 3~#3792446982 # ^ reference local 1~#3792446982 diff --git a/test/scip/testdata/test_case.snapshot.rb b/test/scip/testdata/test_case.snapshot.rb index 59d5ad9e60..96fd11e0de 100644 --- a/test/scip/testdata/test_case.snapshot.rb +++ b/test/scip/testdata/test_case.snapshot.rb @@ -10,6 +10,7 @@ class MyTest < ActiveSupport::TestCase # ^^^^^^^^^^^^^ reference [..] ActiveSupport# # ^^^^^^^^ definition [..] ActiveSupport#TestCase# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). # Helper instance method sig { params(test: T.untyped).returns(T::Boolean) } # ^^^^^^^ reference [..] T#Boolean. @@ -46,6 +47,7 @@ class NoMatchTest < ActiveSupport::TestCase # ^^^^^^^^^^^^^ reference [..] ActiveSupport# # ^^^^^^^^ definition [..] ActiveSupport#TestCase# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). sig { params(block: T.proc.void).void } # ^^^^ reference [..] `>`#void(). @@ -61,6 +63,7 @@ def self.teardown(&block); end class NoParentClass # ^^^^^^^^^^^^^ definition [..] NoParentClass# extend T::Sig +# ^^^^^^ reference [..] Kernel#extend(). sig { params(block: T.proc.void).void } # ^^^^ reference [..] `>`#void(). diff --git a/test/scip/testdata/type_change.snapshot.rb b/test/scip/testdata/type_change.snapshot.rb index 490bf10cfc..18a07b16c8 100644 --- a/test/scip/testdata/type_change.snapshot.rb +++ b/test/scip/testdata/type_change.snapshot.rb @@ -93,6 +93,7 @@ def loop_type_change(bs) # | ``` # ^^ reference local 1~#4057334513 puts x +# ^^^^ reference [..] Kernel#puts(). # ^ reference local 2~#4057334513 if b x = 1 @@ -242,6 +243,7 @@ def change_type(b) # | b (T.untyped) # | ``` if !b +# ^ reference [..] BasicObject#`!`(). # ^ reference local 1~#2066187318 @f = 1 # ^^ definition [..] D#`@f`.