ASTCompoundStatement.java
package edu.udel.cis.vsl.tass.front.minimp.ast.statement;
import java.util.List;
import java.util.Vector;
public class ASTCompoundStatement extends ASTStatement {
List<ASTStatementIF> stmtList;
public ASTCompoundStatement(List<ASTStatementIF> body) {
if (body != null) {
stmtList = body;
} else {
stmtList = new Vector<ASTStatementIF>();
}
}
public List<ASTStatementIF> getBody() {
return stmtList;
}
public ASTStatementIF getStatement(int index) {
return stmtList.get(index);
}
public String toString() {
String result = "{\n\t";
for (ASTStatementIF stmt : stmtList) {
result += stmt.toString() + "\n";
}
result += "};";
return result;
}
public ASTStatementIF getStatement(String label) {
for (ASTStatementIF stmt : this.stmtList) {
if (stmt instanceof ASTWhileStatement) {
if (((ASTWhileStatement) stmt).getInvariant() != null) {
if (((ASTWhileStatement) stmt).getInvariant().getLabel().equals(label)) {
return stmt;
}
}
} else if (stmt instanceof ASTCompoundStatement) {
if (((ASTCompoundStatement) stmt).getStatement(label) != null) {
return ((ASTCompoundStatement) stmt).getStatement(label);
}
}
}
return null;
}
}