canonicalModelElement property

  1. @override
ModelElement? canonicalModelElement
latefinal

Implementation

@override
late final ModelElement? canonicalModelElement = () {
  final canonicalEnclosingContainer = this.canonicalEnclosingContainer;
  if (canonicalEnclosingContainer == null) {
    return null;
  }
  // TODO(jcollins-g): factor out extension logic into [Extendable]
  if (canonicalEnclosingContainer is Extension) {
    return this;
  }
  return canonicalEnclosingContainer.allCanonicalModelElements
      .firstWhereOrNull((m) =>
          m.name == name && m.isPropertyAccessor == isPropertyAccessor);
}();