compute method

  1. @override
Future<void> compute(
  1. ChangeBuilder builder
)
override

Computes the changes for this producer using builder.

This method should not modify fixKind.

Implementation

@override
Future<void> compute(ChangeBuilder builder) async {
  final node = this.node;
  if (node is! ClassDeclaration) return;

  await builder.addDartFileEdit(file, (builder) {
    if (!libraryElement2.definesName('immutable')) {
      builder.importLibraryElement(Uri.parse('package:meta/meta.dart'));
    }

    builder.addSimpleInsertion(
      node.firstTokenAfterCommentAndMetadata.offset,
      '@immutable\n',
    );
  });
}