예제 #1
0
  public void compare(ASTClassOrInterfaceDeclaration at, ASTClassOrInterfaceDeclaration bt) {
    // SimpleNodeUtil.dump(at, "a");
    // SimpleNodeUtil.dump(bt, "b");

    if (at.isInterface() == bt.isInterface()) {
      dubaj.tr.Ace.log("no change in types");
    } else if (bt.isInterface()) {
      addChanged(
          TYPE_CHANGED_FROM_CLASS_TO_INTERFACE,
          null,
          at,
          bt,
          Relatorio.TipoDeclaracao.DeclaracaoClasse);
    } else {
      addChanged(
          TYPE_CHANGED_FROM_INTERFACE_TO_CLASS,
          null,
          at,
          bt,
          Relatorio.TipoDeclaracao.DeclaracaoClasse);
    }

    SimpleNode atParent = SimpleNodeUtil.getParent(at);
    SimpleNode btParent = SimpleNodeUtil.getParent(bt);

    if (compararAcessoMetodo(atParent, btParent, Relatorio.TipoDeclaracao.Classe)) {
      Relatorio.getMudancaClasse().incrementarMudancasClasse();
    }

    if (compararModificadorMetodo(
        atParent, btParent, VALID_TYPE_MODIFIERS, Relatorio.TipoDeclaracao.Classe)) {
      Relatorio.getMudancaClasse().incrementarMudancasClasse();
    }

    compareExtends(at, bt);
    compareImplements(at, bt);

    compareDeclarations(at, bt);
  }