anchor.diff:    int get severity => error.errorCode.errorSeverity.ordinal;
     String get severityName => error.errorCode.errorSeverity.displayName;
     String get message => error.message;
  -  String get description => '${message} at ${location}, line ${line}.';
  +  String get messageSentenceFragment {
  +    String m = message;
  +    return m.endsWith('.') ? m.substring(0, m.length - 1) : m;
  +  }
  +  String get code => error.errorCode.name.toLowerCase();
  +
  +  String get description => '${messageSentenceFragment} at ${location}, line ${line} ($code).';
  +
     int get line => lineInfo.getLocation(error.offset).lineNumber;
   
     String get location {
  
positive.code:     return errors.isEmpty ? new Future.value() : new Future.error(new ExitCode(1));
    }
  
  
    Map<String, List<Folder>> _createPackageFilePackageMap(Packages packages) {
      Map<String, List<Folder>> m = {};
      Map<String, Uri> packageMap = packages.asMap();
  
negative.code:       packages = _discoverPackagespec(project.dir);
        resolvers.add(new SdkExtUriResolver(_createPackageFilePackageMap(packages)));
      } else if (project.packageDir.existsSync()) {
        // ignore: deprecated_member_use
        new PackageUriResolver([new JavaFile(project.packagePath)]);
        resolvers.add(new SdkExtUriResolver(_createPackagesFolderPackageMap(project)));
      }
  