31 lines
1.1 KiB
Markdown
31 lines
1.1 KiB
Markdown
# PR-O1.4 - LowerToIRVM Callsite Prechecks
|
|
|
|
## Briefing
|
|
|
|
Implementar prechecks obrigatorios de chamada em `LowerToIRVM` (consistencia de assinatura/slots e validade de destino) para cumprir integralmente o contrato de verificacao pre-emissao.
|
|
|
|
## Target
|
|
|
|
- `prometeu-compiler/prometeu-build-pipeline` (`LowerToIRVMService`, `IRVMValidator`).
|
|
- Taxonomia de erros de lowering/verificacao.
|
|
- Testes unitarios de lowering negativo.
|
|
|
|
## Method
|
|
|
|
- Introduzir validacao de aridade/shape de retorno em `CALL_FUNC` usando metadados das funcoes alvo.
|
|
- Rejeitar inconsistencias de chamada antes do emissor.
|
|
- Preservar determinismo de `func_id` e diagnostico para falhas de precheck.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- `CALL_FUNC` invalido por contrato de slots falha no `LowerToIRVM` com codigo estavel.
|
|
- Falhas de callsite nao avancam para `EmitBytecode`.
|
|
- Verificador cobre func-id, stack e contrato de chamada no mesmo passe.
|
|
- Testes existentes de lowering continuam verdes.
|
|
|
|
## Tests
|
|
|
|
- Novos testes em `LowerToIRVMServiceTest` para mismatch de param/ret slots.
|
|
- Regressao para caminho valido com host/intrinsic.
|
|
- Teste de estabilidade de codigo de erro para mesma entrada invalida.
|