Source
Map<Element, Set<ModelElement>> get modelElementsMap {
if (_modelElementsMap == null) {
final Set<ModelElement> results = new Set();
results
..addAll(library.allClasses)
..addAll(library.constants)
..addAll(library.enums)
..addAll(library.functions)
..addAll(library.properties)
..addAll(library.typedefs);
library.allClasses.forEach((c) {
results.addAll(c.allModelElements);
results.add(c);
});
_modelElementsMap = new Map<Element, Set<ModelElement>>();
results.forEach((modelElement) {
_modelElementsMap.putIfAbsent(modelElement.element, () => new Set());
_modelElementsMap[modelElement.element].add(modelElement);
});
_modelElementsMap.putIfAbsent(element, () => new Set());
_modelElementsMap[element].add(this);
}
return _modelElementsMap;
}