CompilationUnitExtension.java 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package diff;
  2. import net.sourceforge.pmd.lang.java.ast.ASTCompilationUnit;
  3. import org.incava.diffj.compunit.CompilationUnit;
  4. import org.incava.diffj.compunit.Imports;
  5. import org.incava.diffj.compunit.Package;
  6. import org.incava.diffj.element.Differences;
  7. import org.incava.diffj.type.Types;
  8. public class CompilationUnitExtension extends CompilationUnit {
  9. public CompilationUnitExtension(ASTCompilationUnit compUnit) {
  10. super(compUnit);
  11. }
  12. public Differences diff(CompilationUnit toCompUnit) {
  13. if (toCompUnit == null) {
  14. return null;
  15. }
  16. Differences differences = new Differences();
  17. Package fromPackage = getPackage();
  18. Package toPackage = toCompUnit.getPackage();
  19. fromPackage.diff(toPackage, differences);
  20. Imports fromImports = getImports();
  21. Imports toImports = toCompUnit.getImports();
  22. fromImports.diff(toImports, differences);
  23. Types fromTypes = getTypes();
  24. Types toTypes = toCompUnit.getTypes();
  25. fromTypes.diff(toTypes, differences);
  26. return differences;
  27. }
  28. }