visitClassElement method

  1. @override
CompilePipeMetadata? visitClassElement(
  1. ClassElement element
)
override

Implementation

@override
CompilePipeMetadata? visitClassElement(ClassElement element) {
  final annotationInfo = annotationWhere(element, isPipe, _exceptionHandler);

  if (annotationInfo == null) return null;
  if (annotationInfo.hasErrors) {
    _exceptionHandler.handle(AngularAnalysisError(
        annotationInfo.constantEvaluationErrors, annotationInfo));
    return null;
  }
  if (element.isPrivate) {
    CompileContext.current.reportAndRecover(
      BuildError.forElement(
        element,
        'Pipes must be public',
      ),
    );
    return null;
  }

  return _createPipeMetadata(annotationInfo);
}