anchor.diff:  
     Sdk() : sdkPath = _computeSdkPath;
   
  -  String get dart => path.join(sdkPath, 'bin', _exeName('dart'));
  +  String get dart => path.absolute(sdkPath, 'bin', _exeName('dart'));
   
  -  String get analysis_server_snapshot =>
  -      path.join(sdkPath, 'bin', 'snapshots', 'analysis_server.dart.snapshot');
  +  String get analysis_server_snapshot => path.absolute(
  +      sdkPath, 'bin', 'snapshots', 'analysis_server.dart.snapshot');
   
  -  String get dartfmt => path.join(sdkPath, 'bin', _binName('dartfmt'));
  +  String get dartfmt => path.absolute(sdkPath, 'bin', _binName('dartfmt'));
   
  -  String get pub => path.join(sdkPath, 'bin', _binName('pub'));
  +  String get pub => path.absolute(sdkPath, 'bin', _binName('pub'));
   
     static String _binName(String base) =>
         Platform.isWindows ? '$base.bat' : base;
  
positive.code:   // ./out/ReleaseX64/dart ...
    // We confirm in a similar manner with the snapshot directory existence and
    // then return the correct sdk path:
    snapshotsDir = path.join(path.dirname(Platform.resolvedExecutable),
        'dart-sdk', 'bin', 'snapshots');
    if (Directory(snapshotsDir).existsSync()) {
      return path.join(path.dirname(Platform.resolvedExecutable), 'dart-sdk');
    }
  
    // If neither returned above, we return the common case:
  
negative.code:   // The common case, and how cli_util.dart computes the Dart SDK directory,
    // path.dirname called twice on Platform.resolvedExecutable. We confirm by
    // asserting that the directory ./bin/snapshots/ exists after this directory:
    var sdkPath =
        path.absolute(path.dirname(path.dirname(Platform.resolvedExecutable)));
    var snapshotsDir = path.join(sdkPath, 'bin', 'snapshots');
    if (Directory(snapshotsDir).existsSync()) {
      return sdkPath;
  