Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ILLink: Sweep .override for interface method if the .interfaceImpl is removed #102857

Merged
merged 12 commits into from
Jun 10, 2024

Commits on May 29, 2024

  1. Configuration menu
    Copy the full SHA
    e365855 View commit details
    Browse the repository at this point in the history

Commits on May 30, 2024

  1. Configuration menu
    Copy the full SHA
    7ffea50 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    157077c View commit details
    Browse the repository at this point in the history
  3. Add tests from PR review

    - inherited interface methods with overrides
    - instance methods on classes with .overrides
    jtschuster committed May 30, 2024
    Configuration menu
    Copy the full SHA
    4cd64ba View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    564e231 View commit details
    Browse the repository at this point in the history
  5. One more format

    jtschuster committed May 30, 2024
    Configuration menu
    Copy the full SHA
    1dc3410 View commit details
    Browse the repository at this point in the history

Commits on May 31, 2024

  1. Mark the correct ifaceImpl, add tests

    In MarkMethod, we mark the interfaceImpl that has the same type
    definition. If there are multiple implementations of a generic
    interface, each with different type parameters, we would only mark the
    first such interface. It just so happened that we never hit any issues
    because elsewhere we would keep the interface implementations since the
    interface definition was marked and the type was 'relevant to variant
    casting'.
    
    Adds tests for instance interface methods with .overrides in the
    public implementations. It doesn't seems possible to create a scenario
    where an instance method could be marked without the declaring type
    being marked 'relevant to variant casting' and all the interfaces being
    marked. Also, all methods pointed to by a .override is marked by
    ProcessMethod, so there isn't a scenario that would have dangling
    references in the .override.
    jtschuster committed May 31, 2024
    Configuration menu
    Copy the full SHA
    69c16ac View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c4373c2 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2024

  1. Configuration menu
    Copy the full SHA
    14dec4a View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2024

  1. Configuration menu
    Copy the full SHA
    1d4dc25 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2024

  1. Configuration menu
    Copy the full SHA
    c0761e3 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2024

  1. Configuration menu
    Copy the full SHA
    dd1578f View commit details
    Browse the repository at this point in the history