prometeu-studio/docs/pbs/pull-requests/PR-015-pbs-this-self-context-validation.md
2026-03-24 13:42:21 +00:00

44 lines
1.2 KiB
Markdown

# PR-015 - PBS this/Self Context Validation
## Briefing
The frontend accepts `this` and `Self` outside allowed contexts without required diagnostics. This PR adds explicit static checks for invalid usage.
## Motivation
Context-free acceptance of `this`/`Self` is non-conformant and creates type ambiguity.
## Target
- `this` expression analysis.
- `Self` type-surface analysis in declarations.
- Error catalog and deterministic diagnostics.
## Scope
- Reject `this` outside struct method, service method, and ctor bodies.
- Reject `Self` outside struct/service method declarations and ctors.
## Method
- Add callable-context metadata into flow/type validation.
- Emit dedicated diagnostics for invalid `this` and invalid `Self` usage.
- Keep valid owner contexts unchanged.
## Acceptance Criteria
- Invalid `this` usage emits deterministic static diagnostic.
- Invalid `Self` usage emits deterministic static diagnostic.
- Valid struct/service/ctor contexts remain accepted.
## Tests
- Add positive tests for valid `this`/`Self` contexts.
- Add negative tests for top-level functions and unrelated declarations.
- Run declaration + flow semantic suites.
## Non-Goals
- Introducing new receiver features.
- Altering `Self` syntax.