Skip to content

Compat Kit: exclude named nested classes under anonymous owners #81

Description

@swear01

Context

Immersive Engineering 12.4.2-194 contains a named nested class under an anonymous owner (ModelConveyor$1$Key). Compat Kit scanner format 16 currently treats the named child as source-addressable, then fails because the anonymous owner has no truthful source-level name. This blocks the exact format-16 migration required by #53.

Required behavior

  • Follow the complete InnerClasses owner chain before treating a nested class as source-addressable.
  • Exclude a named child when any owner is anonymous, local, or synthetic.
  • Never invent a source-level owner/name such as ModelConveyor.Key.
  • Preserve legal top-level identifiers containing $ and normal named nested classes.
  • Invalidate pre-fix classifier caches.

Acceptance

  • Strict-TDD regression for ModelConveyor$1$Key: RED on current main, GREEN after the fix.
  • Existing named/top-level $, anonymous/local/synthetic, source mapping, and cache tests remain green.
  • Full Compat Kit Python suite passes after exact ancestry staging.
  • Active Compat Kit/addon-development docs describe the source-addressability rule.
  • Latest-head CI and one manually triggered GitHub review bot pass before merge.

Blocks #53. Umbrella: #33.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions