Exemplo n.º 1
0
  public FDifference compareMethods(
      FDifference diff, MethodDescription leftMethod, MethodDescription rightMethod) {
    FDifference signDiff =
        basis.compareValues(
            "signature",
            leftMethod.getSignature().toString(),
            rightMethod.getSignature().toString(),
            leftMethod);
    FDifference descrDiff =
        basis.compareDescriptions(
            leftMethod.getName(),
            leftMethod.getSignature().getDescription(),
            rightMethod.getSignature().getDescription(),
            leftMethod);

    if (signDiff != null || descrDiff != null) {
      if (diff == null && signDiff != null) {
        diff = new FDifference(FDKind.ChangedElement, FDRating.Conflict);
      } else if (diff == null) {
        diff = new FDifference(FDKind.ChangedElement, FDRating.Info);
      }

      diff.addDifference(signDiff);
      diff.addDifference(descrDiff);
    }

    return diff;
  }
Exemplo n.º 2
0
  public FDifference compareTypeDescriptions(
      CodingUnit leftCodingUnit, CodingUnit rightCodingUnit, FDObject source) {

    FDifference diff = null;
    TypeDescription leftType = proxy.getTypeDescription(leftCodingUnit.getTypeAPIPath());
    TypeDescription rightType = proxy.getTypeDescription(rightCodingUnit.getTypeAPIPath());

    if (leftType != null && rightType != null) {
      FDifference nameDiff =
          basis.compareNamedElements("type descriptions", leftType, rightType, source);
      FDifference descDiff = basis.compareDescriptions(leftType, rightType, source);
      FDifference fqtnDiff =
          basis.compareValues("FQTN", leftType.getFqtn(), rightType.getFqtn(), source);
      FDifference methDiff = this.compareMethodDescriptions(leftType, rightType, source);
      FDifference packDiff = this.comparePackageDescriptions(leftType, rightType, source);

      if (nameDiff != null
          || descDiff != null
          || fqtnDiff != null
          || methDiff != null
          || packDiff != null) {
        diff = new FDifference(FDKind.ChangedElement, FDRating.Warning);
        diff.setSource(leftCodingUnit);
        diff.setDescription(
            "The type description of '"
                + leftCodingUnit.getName()
                + "' has changed in version "
                + this.getRightVersion());

        diff.addDifference(nameDiff);
        diff.addDifference(descDiff);
        diff.addDifference(fqtnDiff);
        diff.addDifference(methDiff);
        diff.addDifference(packDiff);
      }
    }

    return diff;
  }