fixtureExtractor function

({Directory classesDir, AndroidApiExtractor extractor}) fixtureExtractor()

An extractor over freshly compiled fixtures with the synthetic API list. Documentation links are disabled (fixtures have no official pages).

Implementation

({AndroidApiExtractor extractor, Directory classesDir}) fixtureExtractor() {
  final dir = compileFixtures();
  final source = DirectoryClassSource(dir.path);
  final versions = ApiVersionsIndex.parse(fixtureApiVersionsXml(source));
  late final AndroidApiExtractor extractor;
  final zip = fixtureAnnotationsZip(dir);
  extractor = AndroidApiExtractor(
    classes: source,
    sdkVersion: 'fixture',
    sourceKind: 'fixture',
    apiVersions: versions,
    annotations: zip == null
        ? null
        : AnnotationsIndex(
            ZipReader.open(zip),
            (n) => extractor.resolveClassName(n),
          ),
    linkOfficialDocs: false,
  );
  return (extractor: extractor, classesDir: dir);
}