prometeu-studio/docs/compiler/pbs/pull-requests/PR-13.5-flow-body-analyzer-regression-hardening-and-final-cleanup.md
2026-03-24 13:42:37 +00:00

2.5 KiB

PR-13.5 - Flow Body Analyzer Regression Hardening and Final Cleanup

Briefing

As PRs anteriores reduzem a complexidade estrutural de PbsFlowBodyAnalyzer. Esta PR fecha a trilha com consolidacao final, limpeza de duplicacao residual e endurecimento de regressao, sem alterar funcionalidade.

Motivation

Dor atual que esta PR resolve

  1. Refactors estruturais em flow/body analysis podem preservar casos principais e ainda mudar detalhes finos de diagnostico ou scoping.
  2. Ao final da decomposicao, tendem a restar helpers redundantes ou caminhos duplicados.
  3. O fechamento da trilha precisa garantir equivalencia observavel e uma fachada final pequena.

Target

Concluir a trilha de refactor:

  1. limpeza estrutural final,
  2. consolidacao dos helpers remanescentes,
  3. cobertura de regressao para completion, statements e assignment semantics.

Dependencies

Prerequisitos diretos:

  1. PR-13.1
  2. PR-13.2
  3. PR-13.3
  4. PR-13.4

Scope

  1. Remover duplicacao residual apos as extracoes.
  2. Garantir que PbsFlowBodyAnalyzer fique reduzido a composicao/orquestracao.
  3. Reforcar testes de regressao para fallthrough, return flow, loops e assignments.

Non-Goals

  1. Nao alterar taxonomia de PbsSemanticsErrors.
  2. Nao alterar PbsFlowTypeOps ou PbsFlowExpressionAnalyzer.
  3. Nao introduzir novas regras semanticas.

Method

O que deve ser feito explicitamente

  1. Fazer uma passada final de consolidacao.
  2. Verificar equivalencia com foco em:
    • completion/fallthrough,
    • scoping local,
    • return result flow,
    • assignment target resolution,
    • field access diagnostics.
  3. Encerrar a trilha com uma fachada pequena e clara.

Acceptance Criteria

  1. PbsFlowBodyAnalyzer termina como orquestrador, nao como concentrador da logica completa.
  2. Nao ha mudanca funcional observavel em flow analysis ou diagnosticos.
  3. Suite do frontend PBS passa integralmente.

Tests

  1. :prometeu-compiler:frontends:prometeu-frontend-pbs:test --tests *PbsSemanticsFallthroughTest*
  2. :prometeu-compiler:frontends:prometeu-frontend-pbs:test --tests *PbsSemanticsAssignmentTest*
  3. :prometeu-compiler:frontends:prometeu-frontend-pbs:test --tests *PbsSemanticsControlFlowTest*
  4. :prometeu-compiler:frontends:prometeu-frontend-pbs:test --tests *PbsSemanticsResultFlowRulesTest*
  5. :prometeu-compiler:frontends:prometeu-frontend-pbs:test

Affected Documents

  1. Nenhum documento normativo.

Open Questions

  1. Nenhuma. A partir desta PR, qualquer mudanca adicional deve ser tratada como evolucao funcional separada.