Class CommonTupleComponentReference
java.lang.Object
edu.udel.cis.vsl.sarl.object.common.CommonSymbolicObject
edu.udel.cis.vsl.sarl.expr.common.HomogeneousExpression<SymbolicObject>
edu.udel.cis.vsl.sarl.expr.common.CommonReferenceExpression
edu.udel.cis.vsl.sarl.expr.common.CommonNTReference
edu.udel.cis.vsl.sarl.expr.common.CommonTupleComponentReference
- All Implemented Interfaces:
NTReferenceExpression,ReferenceExpression,SymbolicExpression,TupleComponentReference,SymbolicObject
public class CommonTupleComponentReference
extends CommonNTReference
implements TupleComponentReference
Implementation of a non-trivial reference to a TupleComponent
-
Nested Class Summary
Nested classes/interfaces inherited from interface edu.udel.cis.vsl.sarl.IF.expr.ReferenceExpression
ReferenceExpression.ReferenceKindNested classes/interfaces inherited from interface edu.udel.cis.vsl.sarl.IF.expr.SymbolicExpression
SymbolicExpression.SymbolicOperatorNested classes/interfaces inherited from interface edu.udel.cis.vsl.sarl.IF.object.SymbolicObject
SymbolicObject.SymbolicObjectKind -
Field Summary
Fields inherited from class edu.udel.cis.vsl.sarl.expr.common.HomogeneousExpression
debug -
Constructor Summary
ConstructorsConstructorDescriptionCommonTupleComponentReference(SymbolicType referenceType, SymbolicConstant tupleComponentReferenceFunction, SymbolicSequence<SymbolicExpression> parentIndexSequence, IntObject fieldIndex) Constructor asserts that parentIndexSequnce is a valid and Concrete IntegerNumber -
Method Summary
Methods inherited from class edu.udel.cis.vsl.sarl.expr.common.CommonNTReference
getParentMethods inherited from class edu.udel.cis.vsl.sarl.expr.common.CommonReferenceExpression
isArrayElementReference, isIdentityReference, isNullReference, isOffsetReference, isUnionMemberReferenceMethods inherited from class edu.udel.cis.vsl.sarl.expr.common.HomogeneousExpression
argument, arguments, atomString, canonizeChildren, containsQuantifier, containsSubobject, getArguments, getFreeVars, isFalse, isNull, isNumeric, isOne, isTrue, isZero, numArguments, operator, printCompressedTree, symbolicObjectKind, toStringBuffer, toStringBuffer1, toStringBufferLong, typeMethods inherited from class edu.udel.cis.vsl.sarl.object.common.CommonSymbolicObject
equals, getOrder, hashCode, id, isCanonic, setInCanonic, setOrder, toStringMethods inherited from interface edu.udel.cis.vsl.sarl.IF.expr.NTReferenceExpression
getParentMethods inherited from interface edu.udel.cis.vsl.sarl.IF.expr.ReferenceExpression
isArrayElementReference, isIdentityReference, isNullReference, isOffsetReference, isUnionMemberReferenceMethods inherited from interface edu.udel.cis.vsl.sarl.IF.expr.SymbolicExpression
argument, atomString, getArguments, getFreeVars, isFalse, isNull, isNumeric, isOne, isTrue, isZero, numArguments, operator, printCompressedTree, typeMethods inherited from interface edu.udel.cis.vsl.sarl.IF.object.SymbolicObject
containsQuantifier, containsSubobject, equals, getOrder, hashCode, id, isCanonic, setInCanonic, setOrder, symbolicObjectKind, toString, toStringBuffer, toStringBufferLong
-
Constructor Details
-
CommonTupleComponentReference
public CommonTupleComponentReference(SymbolicType referenceType, SymbolicConstant tupleComponentReferenceFunction, SymbolicSequence<SymbolicExpression> parentIndexSequence, IntObject fieldIndex) Constructor asserts that parentIndexSequnce is a valid and Concrete IntegerNumber- Parameters:
referenceType-tupleComponentReferenceFunction-parentIndexSequence-fieldIndex-
-
-
Method Details
-
getIndex
Description copied from interface:TupleComponentReferenceReturns the index of the referenced field (i.e., component).- Specified by:
getIndexin interfaceTupleComponentReference- Returns:
- fieldIndex
-
isTupleComponentReference
public boolean isTupleComponentReference()Description copied from interface:ReferenceExpressionIs this a tuple component reference?- Specified by:
isTupleComponentReferencein interfaceReferenceExpression- Overrides:
isTupleComponentReferencein classCommonReferenceExpression- Returns:
- True
-
referenceKind
Description copied from interface:ReferenceExpressionGets the kind of this reference.- Specified by:
referenceKindin interfaceReferenceExpression- Returns:
- ReferenceKind.TUPLE_COMPONENT
-
size
public int size()- Specified by:
sizein interfaceSymbolicExpression- Overrides:
sizein classHomogeneousExpression<SymbolicObject>- Returns:
- the size of this
SymbolicExpression. The size of a symbolic expression is the total number of "node"s in the "tree". A symbolic expression is essentially a tree of (sub-)symbolic expressions.
-