frames property
Where it was thrown: the frames of its stack outside the framework,
nearest first, each uri:line:column. See framesOf.
Frames rather than one location, because which frame is the answer is a question about the project, and only the host knows the project. A theme that calls into a font package which throws leaves the package's frame on top and the theme's beneath it — and the theme's is the one somebody can edit.
Empty for an error reported with no stack, which is most layout errors: an overflow names its widget in the message instead. Empty too from a guest that predates the field.
Implementation
final List<String> frames;