Class CompoundInitializer

  • All Implemented Interfaces:
    IAttributeAccess

    public class CompoundInitializer
    extends ConstraintSyntaxTree
    Represents a typed initializer for compounds. This initializer may contain expressions for initializing compound slots. IVML: Type{slot=expression, ...}. We need a special constraint tree node for this purpose as values form net.ssehub.easy.varModel.model.values are intended to be constants and, thus, cannot contain arbitrary expressions.
    Author:
    Holger Eichelberger
    • Constructor Detail

      • CompoundInitializer

        public CompoundInitializer​(Compound type,
                                   java.lang.String[] slots,
                                   AbstractVariable[] slotDecls,
                                   ConstraintSyntaxTree[] expressions)
                            throws CSTSemanticException
        Creates a new compound initializer.
        Parameters:
        type - the type of the compound
        slots - the names of the slots. Note that the index of the name denotes the slot related to the expression at the same index position in expressions.
        slotDecls - the declarations of the slots. Note that the index of the name denotes the slot related to the expression at the same index position in expressions.
        expressions - the initializing expressions. Note that the index of the expression denotes the slot related to the name at the same index position in slots.
        Throws:
        CSTSemanticException - in case that the initialization fails
    • Method Detail

      • getType

        public Compound getType()
        Returns the type of the container.
        Returns:
        the type of the container
      • getSlotCount

        public int getSlotCount()
        Returns the number of expressions / slots.
        Returns:
        the number of expressions / slots
      • getExpressionCount

        public int getExpressionCount()
        Returns the number of expressions / slots.
        Returns:
        the number of expressions / slots
      • 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 - if index < 0 || index >=getExpressionCount()
      • getSlot

        public java.lang.String getSlot​(int index)
        Returns the specified slot name.
        Parameters:
        index - the index of the expression to be returned
        Returns:
        the specified slot name
        Throws:
        java.lang.IndexOutOfBoundsException - if index < 0 || index >=getSlotCount()
      • getSlotDeclaration

        public AbstractVariable getSlotDeclaration​(int index)
        Returns the declaration of the specified slot.
        Parameters:
        index - the index of the expression to be returned
        Returns:
        the specified slot declaration
        Throws:
        java.lang.IndexOutOfBoundsException - if index < 0 || index >=getSlotCount()
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object