generateForAnnotatedElement method
String
generateForAnnotatedElement(
- Element element,
- ConstantReader annotation,
- BuildStep buildStep
override
Implement to return source code to generate for element.
This method is invoked based on finding elements annotated with an
instance of T. The annotation is provided as a ConstantReader.
Supported return values include a single String or multiple String instances within an Iterable or Stream. It is also valid to return a Future of String, Iterable, or Stream.
Implementations should return null when no content is generated. Empty
or whitespace-only String instances are also ignored.
Implementation
@override
String generateForAnnotatedElement(
Element element, ConstantReader annotation, BuildStep buildStep) {
// print("building element ${element.name}");
if (element is! ClassElement) {
final name = element.displayName;
throw InvalidGenerationSourceError(
'Generator cannot target `$name`.',
todo: 'Remove the [RestApi] annotation from `$name`.',
);
}
return _implementClass(element, annotation);
}