Open konata opened 1 month ago
Implement a feature for navigating virtual call sites using Class Hierarchy Analysis (CHA) for the following sources:
abstract class Foo { abstract fun foo(): String } class Foo1 : Foo() { override fun foo(): String { TODO("Not yet implemented") } } class Foo2 : Foo() { override fun foo(): String { TODO("Not yet implemented") } } fun foobar(foo: Foo) { foo.foo() // call site }
When navigating to the call site foo.foo(), instead of a direct jump to Foo.foo(), display a selection menu that includes:
foo.foo()
Foo.foo()
This allows users to choose which implementation they want to navigate to, and the same functionality should apply to interface methods as well.
Describe your idea
Description
Implement a feature for navigating virtual call sites using Class Hierarchy Analysis (CHA) for the following sources:
Proposed Behavior
When navigating to the call site
foo.foo()
, instead of a direct jump toFoo.foo()
, display a selection menu that includes:This allows users to choose which implementation they want to navigate to, and the same functionality should apply to interface methods as well.