macro_util 0.1.0-7.dev macro_util: ^0.1.0-7.dev copied to clipboard
Helpers and utilities for developing macros: field introspection, generated code formatting, etc.
Log information in into the augmenting library as code comments #
builder.log('Got here.');
Output:
// Got here.
Introspect all fields of a type #
final map = await FieldIntrospectionData.introspectType(clazz, builder);
final type = map['fieldName']!.typeDeclaration;
Indent the generated code #
builder.declareInLibrary(
DeclarationCode.fromParts([
'augment class Foo {\n',
..._getMyMethodParts().indent(), // Adds 2 spaces before each line of the code.
'}\n',
]),
);