Tries to find a top level library that references this element.
Source
Library findCanonicalLibraryFor(Element e) {
assert(allLibrariesAdded);
Element searchElement = e;
if (e is PropertyAccessorElement) {
searchElement = e.variable;
}
if (_canonicalLibraryFor.containsKey(e)) {
return _canonicalLibraryFor[e];
}
_canonicalLibraryFor[e] = null;
for (Library library in libraries) {
if (library.modelElementsMap.containsKey(searchElement)) {
for (ModelElement modelElement
in library.modelElementsMap[searchElement]) {
if (modelElement.isCanonical) {
_canonicalLibraryFor[e] = library;
break;
}
}
}
}
return _canonicalLibraryFor[e];
}