NamedLiteralExpression.java
package edu.udel.cis.vsl.tass.model.impl.expression.literal;
import edu.udel.cis.vsl.tass.model.IF.ModelFactoryIF;
import edu.udel.cis.vsl.tass.model.IF.expression.LiteralExpressionIF;
import edu.udel.cis.vsl.tass.model.IF.expression.NamedLiteralExpressionIF;
import edu.udel.cis.vsl.tass.model.IF.type.PointerTypeIF;
import edu.udel.cis.vsl.tass.model.IF.type.TypeIF;
import edu.udel.cis.vsl.tass.number.IF.NumberIF;
public class NamedLiteralExpression extends LiteralExpression implements
NamedLiteralExpressionIF {
private String name;
public NamedLiteralExpression(ModelFactoryIF factory, boolean value,
String name, int literalId) {
super(factory, value, literalId);
this.name = name;
}
public NamedLiteralExpression(ModelFactoryIF factory, char value,
String name, int literalId) {
super(factory, value, literalId);
this.name = name;
}
public NamedLiteralExpression(ModelFactoryIF factory, int value,
String name, int literalId) {
super(factory, value, literalId);
this.name = name;
}
/**
* Constructs a LiteralExpression for an array or a record.
*/
public NamedLiteralExpression(ModelFactoryIF factory,
LiteralExpressionIF[] value, TypeIF type, String name, int literalId) {
super(factory, value, type, literalId);
this.name = name;
}
public NamedLiteralExpression(ModelFactoryIF factory, NumberIF value,
String name, int literalId) {
super(factory, value, literalId);
this.name = name;
}
public NamedLiteralExpression(ModelFactoryIF factory, String string,
String name, int literalId) {
super(factory, string, literalId);
this.name = name;
}
/** A NULL pointer value. */
public NamedLiteralExpression(ModelFactoryIF factory,
PointerTypeIF pointerType, String name, int literalId) {
super(factory, pointerType, literalId);
this.name = name;
}
@Override
public String name() {
return name;
}
public String toString() {
return name;
}
@Override
public String atomString() {
return name;
}
}