Skip to content

Conversation

@HerrCai0907
Copy link
Member

@HerrCai0907 HerrCai0907 commented Dec 28, 2025

when class implements interface by its base class member, the original design will not manage it.
For example,

interface I {  foo(): i32; }
class Base {
  foo(): i32 { return 42;}
}
class C extends Base implements I {}

class C implements interface I, but when creating I#foo override stub, it will only search the member of class C. which does not include Base#foo.

This PR wants to split override (by extends) and implementation (by implements). Handling override needs to check whether the current class overrides the base class method. Handling implementation needs to check whether the current class and its base class implements the interface method.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant