parse method

Future<ParsedFile?> parse(
  1. File file
)

Parses file and returns its AST, or null if parsing fails.

Implementation

Future<ParsedFile?> parse(File file) async {
  try {
    final content = await file.readAsString();
    final result = parseString(
      content: content,
      path: file.absolute.path,
      featureSet: FeatureSet.latestLanguageVersion(),
      throwIfDiagnostics: false,
    );

    return ParsedFile(
      source: file,
      unit: result.unit,
      content: content,
    );
  } catch (_) {
    return null;
  }
}