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 path = node.toSource();
  final segmentsString = createSegmentsString(path);

  await builder.addDartFileEdit(file, (builder) {
    final result = builder.importLibraryElement(
      Uri.parse('package:path/path.dart'),
      prefix: 'path',
    );

    final pathAlias = result.prefix ?? 'path';
    builder.addSimpleReplacement(
      range.entity(node),
      '$pathAlias.join($segmentsString)',
    );
  });
}