mirror of
https://github.com/Graphify-Labs/graphify.git
synced 2026-09-14 19:34:09 +08:00
00efd6e796
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>