发布

  • fix(ruby): resolve compact/nested mixin targets, prevent phantom concern hub (#2302)

    frostbyte_neo 发布于 2026-08-01 14:36:17 +00:00

    module Foo::Bar and nested module Foo; module Bar are canonicalized to
    one fully-qualified label, and include/extend/prepend keep the full
    constant path, so include Foo::Bar resolves. Mixin resolution is scoped
    and lexical: a qualified external name (extend ActiveSupport::Concern)
    no longer binds to a local module named Concern, while a genuine
    in-corpus include Foo::Concern still resolves. Nested-declared classes
    keep a last-segment index so typed-receiver calls (Processor.new) keep
    resolving.

    Adapts the approach from #1394 (thanks @FolatheDuckofDuckingburg) to the
    post-refactor extractors/engine.py, with an added last-segment guard for
    nested-class receiver resolution.

    Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

    下载附件