1.7 KiB
1.7 KiB
PR-05.0.5 - Synthetic Stdlib FileId via FileTable
Briefing
InterfaceModuleLoader hoje aloca FileId sintetico por AtomicInteger.
Esta PR move a alocacao de arquivos sinteticos para o FileTable, mantendo uma unica autoridade de identidade de arquivo.
Motivation
Dor que esta PR resolve
- Risco de colisao/deriva de
FileIdfora da infraestrutura oficial. - Arquivos sinteticos ficam fora da trilha normal de metadata de source.
- Diagnosticos e spans de stdlib perdem consistencia de origem no pipeline.
Target
Fazer todo FileId (incluindo sintetico) vir do FileTable.
Scope
InterfaceModuleLoader.- Contexto de carga de stdlib/interface para suportar registro no
FileTable. - Source handle sintetico minimo para parser/diagnostico.
Non-Goals
- Nao altera conteudo dos modulos stdlib.
- Nao altera parse mode de interface.
Method
O que deve ser feito explicitamente
- Criar
SourceHandlesintetico para fontes carregadas da stdlib/interface. - Registrar cada handle no
FileTablee usarFileIdretornado. - Remover contador
AtomicIntegerdeInterfaceModuleLoader. - Preservar caminho lógico para mensagens (ex.: origem virtual stdlib).
Acceptance Criteria
InterfaceModuleLoadernao usa maisnew FileId(...).- Todo
FileIdde stdlib/interface existe noFileTable. - Diagnosticos em fontes sinteticas mantem atribuicao consistente.
Tests
- Teste de carga de interface garantindo que
FileIdsintetico foi registrado noFileTable. - Teste de span/diagnostico para arquivo sintetico.
Affected Documents
docs/pbs/specs/11. AST Specification.mddocs/pbs/specs/13. Lowering IRBackend Specification.md
Open Questions
Sem bloqueios arquiteturais.