anchor.diff:      ]);
     }
   
  -  final String genSnapshotInputFile = previewDart2 ? kApplicationKernelPath : mainPath;
  +  final String entryPoint = mainPath;
     final SnapshotType snapshotType = new SnapshotType(platform, buildMode);
  +  Future<Fingerprint> makeFingerprint() async {
  +    final Set<String> snapshotInputPaths = await readDepfile(dependencies)
  +      ..add(entryPoint)
  +      ..addAll(outputPaths);
  +    return Snapshotter.createFingerprint(snapshotType, entryPoint, snapshotInputPaths);
  +  }
  +
     final File fingerprintFile = fs.file('$dependencies.fingerprint');
     final List<File> fingerprintFiles = <File>[fingerprintFile, fs.file(dependencies)]
       ..addAll(inputPaths.map(fs.file))
  
positive.code: 
    // Compute and record build fingerprint.
    try {
      final Set<String> snapshotInputPaths = await readDepfile(dependencies)
        ..add(mainPath)
        ..addAll(outputPaths);
      final Fingerprint fingerprint = Snapshotter.createFingerprint(snapshotType, mainPath, snapshotInputPaths);
      await fingerprintFile.writeAsString(fingerprint.toJson());
    } catch (e, s) {
      // Log exception and continue, this step is a performance improvement only.
  
negative.code:     try {
        final String json = await fingerprintFile.readAsString();
        final Fingerprint oldFingerprint = new Fingerprint.fromJson(json);
        if (oldFingerprint == await makeFingerprint()) {
          printStatus('Skipping AOT snapshot build. Fingerprint match.');
          return outputPath;
        }
  