korat.finitization
Interface IArraySet

All Superinterfaces:
IFieldDomain
All Known Implementing Classes:
ArraySet

public interface IArraySet
extends IFieldDomain

Interface IArraySet represents field domain (set of values a field can take) for array fields.

Each array is characterized by size and the type of its elements.
It is possible to create arrays with different size. Field domain for array size is represented by IIntSet.

Elements of an array are treated as non-array fields. All elements are of the same type. Bound on the values each element of an array can take is represented by IFieldDomain.

Author:
korat.team

Method Summary
 IIntSet getArraySizes()
          Gets the domain for the size of the array.
 IFieldDomain getComponentsSet()
          Gets the class domain of array components in this IArraySet.
 void setArraySizes(IIntSet sizes)
          Sets domain for the size of the array.
 void setComponentsSet(IFieldDomain componentsSet)
          Sets the field domain for the components of the array.
 
Methods inherited from interface korat.finitization.IFieldDomain
getClassOfField, getNumberOfElements, getNumOfClassDomains, isArrayType, isPrimitiveType
 

Method Detail

setArraySizes

void setArraySizes(IIntSet sizes)
Sets domain for the size of the array. Bounds this IArraySet only to arrays of the given sizes.

Parameters:
sizes - all possible values for the size of the array

getArraySizes

IIntSet getArraySizes()
Gets the domain for the size of the array.

Returns:
class domain containing ints - all possible sizes of the array.

setComponentsSet

void setComponentsSet(IFieldDomain componentsSet)
Sets the field domain for the components of the array. Each component of the array within this IArraySet is bounded by elements of the given componentSet.

Parameters:
componentsSet - set of values that array components within this IArraySet can take, either ObjSet in case the type array components is reference type, or field domain of corresponding primitive type.

getComponentsSet

IFieldDomain getComponentsSet()
Gets the class domain of array components in this IArraySet.

Returns:
IClassDomain that has been assigned for the components of the arrays in this IArraySet.