gr.uom.java.xmi.decomposition.TryStatementObject Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of refactoring-miner Show documentation
Show all versions of refactoring-miner Show documentation
RefactoringMiner is a library/API written in Java that can detect refactorings applied in the history of a Java project.
package gr.uom.java.xmi.decomposition;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.jdt.core.dom.CompilationUnit;
import org.eclipse.jdt.core.dom.Statement;
import gr.uom.java.xmi.LocationInfo.CodeElementType;
public class TryStatementObject extends CompositeStatementObject {
private List catchClauses;
private CompositeStatementObject finallyClause;
public TryStatementObject(CompilationUnit cu, String filePath, Statement statement, int depth) {
super(cu, filePath, statement, depth, CodeElementType.TRY_STATEMENT);
this.catchClauses = new ArrayList();
}
public void addCatchClause(CompositeStatementObject catchClause) {
catchClauses.add(catchClause);
}
public List getCatchClauses() {
return catchClauses;
}
public void setFinallyClause(CompositeStatementObject finallyClause) {
this.finallyClause = finallyClause;
}
public CompositeStatementObject getFinallyClause() {
return finallyClause;
}
public boolean isTryWithResources() {
return getExpressions().size() > 0;
}
public boolean identicalCatchOrFinallyBlocks(TryStatementObject other) {
int identicalCatchClauses = 0;
boolean identicalFinallyClause = false;
if(this.catchClauses.size() == other.catchClauses.size()) {
for(int i=0; i 0 && identicalCatchClauses == this.catchClauses.size()) || identicalFinallyClause;
}
}