resolve method
String?
resolve(
- Element2? element
)
Implementation
String? resolve(Element2? element) {
// return early if source is null or element is a core type
final elementSourceUri = _sourceUriOfElement(element);
if (elementSourceUri == null || _isCoreDartType(element)) {
return null;
}
for (var lib in libs) {
if (_isCoreDartType(lib)) continue;
if (lib.exportNamespace.definedNames2.values.contains(element)) {
final packageSourceUri = lib.firstFragment.source.uri;
final package = packageSourceUri.pathSegments.first;
if (targetFilePath.startsWith(RegExp('^$package/'))) {
return p.posix
.relative(elementSourceUri.path, from: targetFilePath)
.replaceFirst('../', '');
} else {
return elementSourceUri.toString();
}
}
}
return null;
}