anchor.diff:    }
   
     /**
  -   * Return the name of the file for a linked bundle, in strong or spec mode.
  -   */
  -  String _getLinkedName(String hash, bool strong) {
  -    if (strong) {
  -      return 'linked_$hash.ds';
  -    } else {
  -      return 'linked_spec_$hash.ds';
  -    }
  -  }
  -
  -  /**
      * Return the name of the file for an unlinked bundle, in strong or spec mode.
      */
     String _getUnlinkedName(bool strong) {
  
positive.code: import 'package:path/path.dart' as pathos;
  
  /**
   * Return the raw string value of the variable with the given [name],
   * or `null` of the variable is not defined.
   */
  typedef String _GetDeclaredVariable(String name);
  
  /**
   * Unlinked and linked information about a [PubPackage].
   */
  class LinkedPubPackage {
  
negative.code:     signature.addInt(sortedNameList.length);
      for (String name in sortedNameList) {
        signature.addString(name);
        signature.addString(linker._getDeclaredVariable(name) ?? '');
      }
    }
  
    /**
     * Compute the set of existing transitive dependencies for this node.
     * If any `package` dependency cannot be resolved, but it is one of the
     * [listedPackages] then set [failed] to `true`.
     * Only [unlinked] is used, so this method can be called before linking.
     */
    void computeTransitiveDependencies() {
      if (transitiveDependencies == null) {
        transitiveDependencies = new Set<_LinkNode>();
  
        void appendDependencies(_LinkNode node) {
          if (transitiveDependencies.add(node)) {
            node.dependencies.forEach(appendDependencies);
          }
        }
  
        appendDependencies(this);
        if (transitiveDependencies.any((node) => node.failed)) {
          failed = true;
        }
      }
    }
  
    @override
    String toString() => package.toString();
  }
  
  /**
  