Package net.ssehub.easy.varModel.cst
Class ContainerInitializer
- java.lang.Object
-
- net.ssehub.easy.varModel.cst.ConstraintSyntaxTree
-
- net.ssehub.easy.varModel.cst.ContainerInitializer
-
- All Implemented Interfaces:
IAttributeAccess
public class ContainerInitializer extends ConstraintSyntaxTree
Represents an initializer for containers. This initializer may contain expressions for initializing container entries. IVML:{expression, ...}. We need a special constraint tree node for this purpose as values formnet.ssehub.easy.varModel.model.valuesare intended to be constants and, thus, cannot contain arbitrary expressions.- Author:
- Holger Eichelberger
-
-
Field Summary
Fields Modifier and Type Field Description private ConstraintSyntaxTree[]expressionsprivate Containertype
-
Constructor Summary
Constructors Constructor Description ContainerInitializer(Container type, ConstraintSyntaxTree[] expressions)Creates a new container initializer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(IConstraintTreeVisitor visitor)Visiting method for the visitor.booleanequals(java.lang.Object obj)ConstraintSyntaxTreegetExpression(int index)Returns the specified expression.intgetExpressionCount()Returns the number of expressions.ContainergetType()Returns the type of the container.inthashCode()IDatatypeinferDatatype()Infers the datatype of the subtree represented by this object.-
Methods inherited from class net.ssehub.easy.varModel.cst.ConstraintSyntaxTree
getAttribute, getAttribute, getAttributesCount, getContainedType, getName, getParent, isSemanticallyEqual
-
-
-
-
Field Detail
-
type
private Container type
-
expressions
private ConstraintSyntaxTree[] expressions
-
-
Constructor Detail
-
ContainerInitializer
public ContainerInitializer(Container type, ConstraintSyntaxTree[] expressions) throws CSTSemanticException
Creates a new container initializer.- Parameters:
type- the type of the compoundexpressions- the initializing expressions (in sequence for containers which support sequences)- Throws:
CSTSemanticException- in case that the initialization fails, element type mismatch
-
-
Method Detail
-
getType
public Container getType()
Returns the type of the container.- Returns:
- the type of the container
-
getExpressionCount
public int getExpressionCount()
Returns the number of expressions.- Returns:
- the number of expressions
-
getExpression
public ConstraintSyntaxTree getExpression(int index)
Returns the specified expression.- Parameters:
index- the index of the expression to be returned- Returns:
- the specified expression
- Throws:
java.lang.IndexOutOfBoundsException- ifindex < 0 || index >=getExpressionCount()
-
accept
public void accept(IConstraintTreeVisitor visitor)
Description copied from class:ConstraintSyntaxTreeVisiting method for the visitor.
This method is used for saving this model element.- Specified by:
acceptin classConstraintSyntaxTree- Parameters:
visitor- The visitor, which should save this model element.
-
inferDatatype
public IDatatype inferDatatype() throws CSTSemanticException
Description copied from class:ConstraintSyntaxTreeInfers the datatype of the subtree represented by this object.- Specified by:
inferDatatypein classConstraintSyntaxTree- Returns:
- the data type
- Throws:
CSTSemanticException- Will be thrown if parameters of (sub-) trees do not fit together.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-