ASTArrayVariableDeclaration.java
package edu.udel.cis.vsl.tass.front.minimp.ast.declaration;
import edu.udel.cis.vsl.tass.front.minimp.ast.expression.ASTExpressionIF;
import edu.udel.cis.vsl.tass.front.minimp.ast.misc.ASTIdentifier;
public class ASTArrayVariableDeclaration extends ASTVariableDeclaration implements
ASTDeclarationIF {
private ASTArrayHeader arrayHeader;
public ASTArrayVariableDeclaration(ASTIdentifier id, ASTArrayHeader header,
VariableCategory category) {
super(id, header.getType(), category);
arrayHeader = header;
}
public ASTExpressionIF getArrayLength() {
return arrayHeader.getArrayLength();
}
public ASTArrayHeader getArrayHeader() {
return arrayHeader;
}
public String toString() {
String result = "begin array variable declaration: \n";
result += this.arrayHeader.toString() + " " + this.variableName.toString();
if (this.assumption != null) {
result += " {" + this.assumption + "}";
}
result += "line:" + source.firstLine() + ":" + source.lastLine()
+ ", column:" + source.firstColumn() + ":" + source.lastColumn()
+ ";\n";
result += "end array variable declaration: \n";
return result;
}
public ASTExpressionIF[] getDimensions() {
return arrayHeader.getDimensions();
}
}