2.0 KiB
2.0 KiB
PR-025 - PBS Interface-Module Semantics and Linking Rules
Briefing
Depois de parsear forms reservadas, o frontend precisa validar regras semanticas especificas de interface modules e integrar host/builtin shells ao linking.
Motivation
Sem essa etapa:
- declarations reservadas entram sem contrato semantico,
- host owners nao entram corretamente no namespace/linking,
- e o barrel contract para
hostnao fecha.
Target
- Validadores semanticos (
declaration,flowquando aplicavel). PbsNamespaceBinderePbsModuleVisibilityValidator.
Scope
- Validar restricoes declarativas de interface module (nao executavel, assinatura-only onde requerido).
- Validar posicionamento/shape de
Host,BuiltinType,BuiltinConst,IntrinsicCall,Slot. - Incluir host owners em namespace e linking (incluindo barrel host entry resolution).
Method
- Adicionar caminho semantico para
SDK_INTERFACEcom regras de admissao dedicadas. - Reusar estrutura de diagnosticos com codigos estaveis.
- Garantir ownership de fase para erros de linking vs static semantics.
Acceptance Criteria
hostbarrel entries resolvem quandodeclare hostexiste no modulo reservado.- Violacoes de posicionamento/shape de attributes reservadas sao rejeitadas deterministicamente.
- Modulos ordinarios continuam com as regras atuais e sem regressao.
Tests
- Fixtures positivos de interface module valido com host/builtin declarations.
- Fixtures negativos de attributes mal posicionadas e host/builtin invalido.
- Fixtures de linking para barrel host item resolvido e nao resolvido.
Non-Goals
- Materializacao final de metadata no artifact/lowering.
- Politica completa de runtime capabilities.
Affected Documents
docs/pbs/specs/4. Static Semantics Specification.mddocs/pbs/specs/6.1. Intrinsics and Builtin Types Specification.mddocs/pbs/specs/6.2. Host ABI Binding and Loader Resolution Specification.mddocs/pbs/specs/12. Diagnostics Specification.md