Skip to content

PHP: (new Service())->method() resolves as EXTRACTED with FQN corroboration #3

Description

@filipechagas

Parent

Spec: #1 (upstream: Graphify-Labs#1682)

What to build

An inline instantiation call — (new Service())->method() or (new \\App\\Services\\Service())->method() — gets a calls edge to the service's method. Because the source names the exact class, the edge is EXTRACTED — but only when the source's qualified name corroborates the resolved node; otherwise it downgrades to INFERRED. new self() / new static() receivers are refused.

Extends the tracer's receiver mapping with the (new) receiver key plus the retained class name and qualified text.

Acceptance criteria

  • (new \\NS\\Service())->method() yields an EXTRACTED calls edge when the qualified name corroborates the resolved node; decoy gets no edge
  • Bare (new Service())->method() resolves; confidence per the corroboration rule
  • Non-corroborating qualified name downgrades to INFERRED (or refuses — per spec decision)
  • (new self())->m() and (new static())->m() yield no edge
  • Anonymous-class instantiation (new class {...})->m() yields no edge
  • Bare new Service() statements without an immediate call remain out of scope (unchanged)

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions