startUp method

  1. @override
Future<void> startUp(
  1. CustomLintResolver resolver,
  2. CustomLintContext context
)

Emits lints for a given file.

run will only be invoked with files respecting filesToAnalyze

Implementation

@override
Future<void> startUp(
  CustomLintResolver resolver,
  CustomLintContext context,
) async {
  final unit = await resolver.getResolvedUnitResult();
  final session = unit.session;

  final alignmentPath = session.uriConverter.uriToPath(
    Uri.parse('package:flutter/src/painting/alignment.dart'),
  )!;
  final object = switch (await session.getResolvedLibrary(alignmentPath)) {
    ResolvedLibraryResult(:final element) =>
      element
          .getClass('Alignment')
          ?.getField('center')
          ?.computeConstantValue(),
    _ => null,
  };

  context.sharedState[_alignmentConstantKey] = object;

  return super.startUp(resolver, context);
}