prometeu-studio/docs/compiler/pbs/pull-requests/PR-19.7-pbs-lowering-irbackend-globals-and-synthetic-callable-model.md

2.1 KiB

PR-19.7 - PBS Lowering for IRBackend Globals and Synthetic Callable Model

Briefing

As decisions de topic 19 fixaram que globals e artifacts de lifecycle precisam ficar explicitos no IRBackend, sem materializacao tardia implicita.

Esta PR faz o primeiro corte de lowering:

  1. introduz globals explicitos no handoff,
  2. introduz callables sinteticos com kind proprio,
  3. introduz origin metadata sintetica suficiente para remapear diagnosticos.

Target

Implementar no lowering PBS -> IRBackend:

  1. modelagem explicita de backend globals,
  2. distincao entre callables userland e callables sinteticos,
  3. kinds sinteticos obrigatorios,
  4. attribution/origin metadata para artifacts sinteticos.

Dependencies

Prerequisitos diretos:

  1. PR-19.1
  2. PR-19.5
  3. PR-19.6

Scope

  1. Introduzir globals explicitos no IRBackend.
  2. Introduzir FILE_INIT_FRAGMENT, MODULE_INIT, PROJECT_INIT e PUBLISHED_FRAME_WRAPPER como identidade estrutural.
  3. Introduzir SyntheticOrigin ou equivalente.
  4. Preservar remap para spans reais quando houver origem defensavel.

Non-Goals

  1. Nao publicar ainda o wrapper final em func_id = 0.
  2. Nao fechar ainda FRAME_RET ownership path.
  3. Nao fechar ainda conformance final.

Method

  1. Modelar globals e callables sinteticos como first-class artifacts.
  2. Evitar conventions baseadas apenas em nome textual.
  3. Garantir que diagnosticos prefiram spans reais em vez de spans sinteticos.

Acceptance Criteria

  1. IRBackend passa a carregar globals explicitamente.
  2. Callables sinteticos possuem class identity observavel.
  3. Artifacts sinteticos carregam attribution suficiente para remap de diagnosticos.
  4. O lowering nao depende de magic late-stage para globals/lifecycle.

Tests

  1. Fixtures de lowering com inspecao do IRBackend.
  2. Verificacao de kinds sinteticos presentes.
  3. Verificacao de origin metadata e remap defensavel.

Affected Artifacts

  1. lowering PBS -> IRBackend
  2. modelo IRBackend
  3. testes de lowering/attribution

Open Questions

  1. Nenhuma. Wrapper publication fica para PR-19.8.