|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object ptolemy.data.type.StructuredType ptolemy.data.type.ArrayType
public class ArrayType
A class representing the type of an ArrayToken.
Red (cxh) |
Red (cxh) |
Nested Class Summary | |
---|---|
private static class |
ArrayType.ArrayBottomTypeTerm
An InequalityTerm representing an arbitrary array type. |
private class |
ArrayType.ElementTypeTerm
An InequalityTerm associated with an instance of ArrayType. |
private static class |
ArrayType.TypeableArrayTypeTerm
An InequalityTerm representing an array types whose elements have the type of the specified typeable. |
private static class |
ArrayType.TypeableElementTypeTerm
An InequalityTerm representing the element types of an instance of Typeable. |
private static class |
ArrayType.TypeableSizedArrayTypeTerm
An InequalityTerm representing an array types whose elements have the type of the specified typeable. |
Field Summary | |
---|---|
private Type |
_declaredElementType
|
private Type |
_elementType
|
private ArrayType.ElementTypeTerm |
_elemTypeTerm
|
private int |
_length
|
private static ArrayType |
_representative
|
static InequalityTerm |
ARRAY_BOTTOM
A term to use when declaring the type of some parameter or port to be an array. |
static InequalityTerm |
ARRAY_UNSIZED_BOTTOM
A term to use when declaring the type of some parameter or port to be an array, with unknown length. |
Fields inherited from class ptolemy.data.type.StructuredType |
---|
MAXDEPTHBOUND |
Fields inherited from interface ptolemy.data.type.Type |
---|
HASH_INVALID, HASH_MAX |
Constructor Summary | |
---|---|
ArrayType(Type elementType)
Construct a new ArrayType with the specified type for the array elements. |
|
ArrayType(Type elementType,
int length)
Construct a new ArrayType with the specified type for the array elements. |
Method Summary | |
---|---|
protected int |
_compare(StructuredType type)
Compare this type with the specified type. |
protected StructuredType |
_getRepresentative()
Return a static instance of ArrayType. |
protected StructuredType |
_greatestLowerBound(StructuredType type)
Return the greatest lower bound of this type with the specified type. |
protected StructuredType |
_leastUpperBound(StructuredType type)
Return the least Upper bound of this type with the specified type. |
static InequalityTerm |
arrayOf(Typeable typeable)
Return a type constraint that can be used to constrain another typeable object to have a type related to an array whose element type is the type of the specified typeable. |
static InequalityTerm |
arrayOf(Typeable typeable,
int length)
Return a type constraint that can be used to contrain another typeable object to have a type related to an array whose element type is the type of the specified typeable. |
java.lang.Object |
clone()
Return a deep copy of this ArrayType if it is a variable, or itself if it is a constant. |
Token |
convert(Token token)
Convert the argument token into an ArrayToken having this type, if lossless conversion can be done. |
int |
depth()
Return the depth of an array type. |
static InequalityTerm |
elementType(Typeable typeable)
Return a type constraint that can be used to constrain another typeable object to have a type related to the element type of the specified typeable. |
boolean |
equals(java.lang.Object object)
Determine if the argument represents the same ArrayType as this object. |
Type |
getDeclaredElementType()
Return the declared type of the array elements. |
Type |
getElementType()
Return the type of the array elements. |
InequalityTerm |
getElementTypeTerm()
Return the InequalityTerm representing the element type. |
java.lang.Class |
getTokenClass()
Return the class for tokens that this type represents. |
int |
hashCode()
Return a hash code value for this object. |
boolean |
hasKnownLength()
Return true if the length of this array type has been determined. |
void |
initialize(Type t)
Set the elements that have declared type BaseType.UNKNOWN (the leaf type variable) to the specified type. |
boolean |
isAbstract()
Return true if this type does not correspond to a single token class. |
boolean |
isCompatible(Type type)
Test if the argument type is compatible with this type. |
boolean |
isConstant()
Test if this ArrayType is a constant. |
boolean |
isInstantiable()
Determine if this type corresponds to an instantiable token class. |
boolean |
isSubstitutionInstance(Type type)
Return true if the specified type is a substitution instance of this type. |
int |
length()
Return the length of this array type. |
void |
setType(Type type)
Set the type to the specified type, which is required to be an array type. |
java.lang.String |
toString()
Return the string representation of this type. |
void |
updateType(StructuredType newType)
Update this Type to the specified ArrayType. |
Methods inherited from class ptolemy.data.type.StructuredType |
---|
add, divide, getTypeHash, modulo, multiply, one, subtract, zero |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final InequalityTerm ARRAY_BOTTOM
param.setTypeAtLeast(ArrayType.ARRAY_BOTTOM);for a parameter "param".
public static final InequalityTerm ARRAY_UNSIZED_BOTTOM
param.setTypeAtLeast(ArrayType.ARRAY_UNSIZED_BOTTOM);for a parameter "param".
private Type _declaredElementType
private Type _elementType
private int _length
private ArrayType.ElementTypeTerm _elemTypeTerm
private static ArrayType _representative
Constructor Detail |
---|
public ArrayType(Type elementType)
elementType
- The type of the array elements.
java.lang.IllegalArgumentException
- If the argument is null.public ArrayType(Type elementType, int length)
elementType
- The type of the array elements.length
- Then length of the array.
java.lang.IllegalArgumentException
- If the argument is null.Method Detail |
---|
public static InequalityTerm arrayOf(Typeable typeable) throws IllegalActionException
output.setTypeAtLeast(ArrayType.arrayOf(input));where input and output are ports (this is the type constraint of SequenceToArray, for example).
typeable
- A typeable.
IllegalActionException
- If the specified typeable
cannot be set to an array type.public static InequalityTerm arrayOf(Typeable typeable, int length) throws IllegalActionException
output.setTypeAtLeast(ArrayType.arrayOf(input, length));where input and output are ports (this is the type constraint of SequenceToArray, for example).
typeable
- A typeable.length
- The length of array.
IllegalActionException
- If the specified typeable
cannot be set to an array type.public java.lang.Object clone()
clone
in interface Type
clone
in class StructuredType
public Token convert(Token token) throws IllegalActionException
convert
in interface Type
token
- A token.
IllegalActionException
- If lossless conversion
cannot be done.public int depth()
depth
in class StructuredType
public boolean equals(java.lang.Object object)
equals
in interface Type
equals
in class java.lang.Object
object
- Another object.
public static InequalityTerm elementType(Typeable typeable) throws IllegalActionException
output.setTypeAtLeast(ArrayType.elementType(input));where input and output are ports. This forces the input port to have an array type and the output port to have a type at least that of the elements of input arrays.
typeable
- An array-valued typeable.
IllegalActionException
- If the specified typeable
cannot be set to an array type.public Type getDeclaredElementType()
public Type getElementType()
public InequalityTerm getElementTypeTerm()
InequalityTerm
public java.lang.Class getTokenClass()
getTokenClass
in interface Type
public int hashCode()
hashCode
in class java.lang.Object
public boolean hasKnownLength()
public boolean isAbstract()
isAbstract
in interface Type
isAbstract
in class StructuredType
public void initialize(Type t)
initialize
in class StructuredType
t
- the type to set the leaf type variable to.public boolean isCompatible(Type type)
isCompatible
in interface Type
type
- A Type.
convert(ptolemy.data.Token)
public boolean isConstant()
isConstant
in interface Type
public boolean isInstantiable()
isInstantiable
in interface Type
public boolean isSubstitutionInstance(Type type)
isSubstitutionInstance
in interface Type
type
- A Type.
Type.isSubstitutionInstance(ptolemy.data.type.Type)
public int length()
IllegalActionException
- If the length is not known.public void setType(Type type) throws IllegalActionException
type
- The new type.
IllegalActionException
- If the specified type is not
an instance of ArrayType.public java.lang.String toString()
toString
in interface Type
toString
in class java.lang.Object
public void updateType(StructuredType newType) throws IllegalActionException
updateType
in class StructuredType
newType
- A StructuredType.
IllegalActionException
- If the specified type is not an
ArrayType or it does not have the same structure as this one.protected int _compare(StructuredType type)
_compare
in class StructuredType
type
- an ArrayType.
java.lang.IllegalArgumentException
- If the specified type is
not an ArrayType.protected StructuredType _getRepresentative()
_getRepresentative
in class StructuredType
protected StructuredType _greatestLowerBound(StructuredType type)
_greatestLowerBound
in class StructuredType
type
- an ArrayType.
java.lang.IllegalArgumentException
- If the specified type is
not an ArrayType.protected StructuredType _leastUpperBound(StructuredType type)
_leastUpperBound
in class StructuredType
type
- an ArrayType.
java.lang.IllegalArgumentException
- If the specified type is
not an ArrayType.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |