getShorthandPrefixElement method

(InterfaceElement, DartType)? getShorthandPrefixElement()

Implementation

(InterfaceElement, DartType)? getShorthandPrefixElement() => switch (this) {
  InstanceCreationExpression(
    constructorName: ConstructorName(:final name, :final element),
    staticType: InterfaceType(
      element: final typeElement,
      :final extensionTypeErasure,
    ),
  )
      when name?.name != null &&
          name?.name != 'new' &&
          !element.isNonRedirectingBodyFactory =>
    (typeElement, extensionTypeErasure),
  PropertyAccess(target: SimpleIdentifier(element: InterfaceElement e)) => (
    e,
    e.thisType,
  ),
  PrefixedIdentifier(prefix: SimpleIdentifier(element: InterfaceElement e)) =>
    (e, e.thisType),
  MethodInvocation(target: SimpleIdentifier(element: InterfaceElement e)) => (
    e,
    e.thisType,
  ),
  _ => null,
};