in source_gen/lib/src/span_for_element.dart [21:53]
SourceSpan spanForElement(Element element, [SourceFile? file]) {
final url = assetToPackageUrl(element.source!.uri);
if (file == null) {
final contents = element.source?.contents;
if (contents == null) {
return SourceSpan(
SourceLocation(
element.nameOffset,
sourceUrl: url,
),
SourceLocation(
element.nameOffset + element.nameLength,
sourceUrl: url,
),
element.name!,
);
}
file = SourceFile.fromString(contents.data, url: url);
}
if (element.nameOffset < 0) {
if (element is PropertyInducingElement) {
if (element.getter != null) {
return spanForElement(element.getter!);
}
if (element.setter != null) {
return spanForElement(element.setter!);
}
}
}
return file.span(element.nameOffset, element.nameOffset + element.nameLength);
}