getDeclarationNodeFromElement method

Future<CompilationUnitMember?> getDeclarationNodeFromElement(
  1. InstanceElement element, {
  2. bool includeExtensions = false,
})
inherited

Implementation

Future<CompilationUnitMember?> getDeclarationNodeFromElement(
  InstanceElement element, {
  bool includeExtensions = false,
}) async {
  if (element.library.isInSdk) return null;
  return switch (element) {
    ClassElement(:var firstFragment) => getClassDeclaration(firstFragment),
    EnumElement(:var firstFragment) => getEnumDeclaration(firstFragment),
    ExtensionElement(:var firstFragment) when includeExtensions =>
      getExtensionDeclaration(firstFragment),
    ExtensionTypeElement(:var firstFragment) => getExtensionTypeDeclaration(
      firstFragment,
    ),
    MixinElement(:var firstFragment) => getMixinDeclaration(firstFragment),
    _ => null,
  };
}