receiver property

Object? receiver
final

The object whose lookup failed, compared by IDENTITY at the decision sites.

SCD87. memberName alone cannot separate "this receiver has no such member" from "a member that does exist ran, and something inside it failed to find the same name on a different object". Both are genuine UndefinedMemberD4rtExceptions carrying the same name, so the caller's extension-lookup branch used to answer for the second — swallowing a real error and returning an unrelated value, with nothing logged.

Identity, not a description. Two instances of the same class describe identically, so a receiver string could not separate the failure raised for the object in hand from one raised for a different object of the same class deeper in the stack. identical can.

Null where no receiver object exists — a static or prefix lookup. A null receiver must never match: identical(null, target) is false for any real target, so the branch is not taken and the failure propagates, which is the conservative direction.

Implementation

final Object? receiver;