generate method

  1. @override
FutureOr<String> generate(
  1. LibraryReader library,
  2. BuildStep buildStep
)
inherited

Generates code for all annotated elements in a library.

Implementation

@override
/// Generates code for all annotated elements in a library.
FutureOr<String> generate(LibraryReader library, BuildStep buildStep) async {
  final values = Set<String>();

  var classElements = library.allElements.whereType<ClassElement>().toList();
  var annotatedElements = library.annotatedWith(typeChecker).toList();

  for (var annotatedElement in annotatedElements) {
    final generatedValue = generateForAnnotatedElement(
      annotatedElement.element,
      annotatedElement.annotation,
      buildStep,
      classElements,
    );
    values.add(generatedValue.toString());
  }

  return values.join('\n\n');
}