Class BaseTypeVisitor
java.lang.Object
net.ssehub.easy.varModel.model.datatypes.BaseTypeVisitor
- All Implemented Interfaces:
IDatatypeVisitor
A visitor which determines the (recursive) base type of a given
type. In particular, the topmost base type of a derived type is
determined.
- Author:
- Holger Eichelberger
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic final IDatatypegetBaseType(IDatatype type) Returns the base type oftype.private static final BaseTypeVisitorgetInstance(IDatatype type) Obtains an instance from the pool.private IDatatypegetType()Returns the inferred base type.private static final voidreleaseInstance(BaseTypeVisitor visitor) Releases an instance to the pool.private voidDefines the initial value of the base type (also used for resetting and reuse).voidvisitAnyType(AnyType datatype) Is called by an AnyType.voidvisitBooleanType(BooleanType type) Visiting method for visiting aBooleanType.voidvisitCompoundType(Compound compound) Visiting method for visiting aCompound.voidVisiting method for visiting aConstraintType.voidvisitDatatype(IDatatype datatype) Is called by an arbitrary data type.voidvisitDerivedType(DerivedDatatype datatype) Is called by anDerivedDatatypedata type.voidvisitEnumType(Enum enumType) Visiting method for visiting aEnum.voidvisitIntegerType(IntegerType type) Visiting method for visiting aIntegerType.voidvisitMetaType(MetaType datatype) Is called by a MetaType.voidvisitOrderedEnumType(OrderedEnum enumType) Visiting method for visiting aOrderredEnum.voidvisitRealType(RealType type) Visiting method for visiting aRealType.voidvisitReference(Reference reference) Is called by a reference data type.voidvisitSequence(Sequence sequence) Is called by a sequence datatype.voidIs called by a set data type.voidvisitStringType(StringType type) Visiting method for visiting aStringType.voidvisitVersionType(VersionType type) Visiting method for visiting aVersionType.
-
Field Details
-
POOL
-
type
-
-
Constructor Details
-
BaseTypeVisitor
private BaseTypeVisitor()Prevents initialization from outside.
-
-
Method Details
-
setType
Defines the initial value of the base type (also used for resetting and reuse).- Parameters:
type- the initial base type
-
getType
Returns the inferred base type.- Returns:
- the base type
-
getInstance
Obtains an instance from the pool.- Parameters:
type- the type to be analyzed- Returns:
- the instance, to be released by
releaseInstance(BaseTypeVisitor)
-
releaseInstance
Releases an instance to the pool.- Parameters:
visitor- the instance to be released
-
getBaseType
Returns the base type oftype.- Parameters:
type- the type the base type shall be determined- Returns:
typeor the base type
-
visitDatatype
Description copied from interface:IDatatypeVisitorIs called by an arbitrary data type.- Specified by:
visitDatatypein interfaceIDatatypeVisitor- Parameters:
datatype- the data type.
-
visitAnyType
Description copied from interface:IDatatypeVisitorIs called by an AnyType.- Specified by:
visitAnyTypein interfaceIDatatypeVisitor- Parameters:
datatype- the data type.
-
visitMetaType
Description copied from interface:IDatatypeVisitorIs called by a MetaType.- Specified by:
visitMetaTypein interfaceIDatatypeVisitor- Parameters:
datatype- the data type.
-
visitDerivedType
Description copied from interface:IDatatypeVisitorIs called by anDerivedDatatypedata type.- Specified by:
visitDerivedTypein interfaceIDatatypeVisitor- Parameters:
datatype- the data type.
-
visitSet
Description copied from interface:IDatatypeVisitorIs called by a set data type.- Specified by:
visitSetin interfaceIDatatypeVisitor- Parameters:
set- the set instance
-
visitSequence
Description copied from interface:IDatatypeVisitorIs called by a sequence datatype.- Specified by:
visitSequencein interfaceIDatatypeVisitor- Parameters:
sequence- the sequence instance
-
visitReference
Description copied from interface:IDatatypeVisitorIs called by a reference data type.- Specified by:
visitReferencein interfaceIDatatypeVisitor- Parameters:
reference- the references instance
-
visitBooleanType
Description copied from interface:IDatatypeVisitorVisiting method for visiting aBooleanType.- Specified by:
visitBooleanTypein interfaceIDatatypeVisitor- Parameters:
type- TheIDatatypewhich should be visited.
-
visitStringType
Description copied from interface:IDatatypeVisitorVisiting method for visiting aStringType.- Specified by:
visitStringTypein interfaceIDatatypeVisitor- Parameters:
type- TheIDatatypewhich should be visited.
-
visitConstraintType
Description copied from interface:IDatatypeVisitorVisiting method for visiting aConstraintType.- Specified by:
visitConstraintTypein interfaceIDatatypeVisitor- Parameters:
type- TheIDatatypewhich should be visited.
-
visitIntegerType
Description copied from interface:IDatatypeVisitorVisiting method for visiting aIntegerType.- Specified by:
visitIntegerTypein interfaceIDatatypeVisitor- Parameters:
type- TheIDatatypewhich should be visited.
-
visitRealType
Description copied from interface:IDatatypeVisitorVisiting method for visiting aRealType.- Specified by:
visitRealTypein interfaceIDatatypeVisitor- Parameters:
type- TheIDatatypewhich should be visited.
-
visitCompoundType
Description copied from interface:IDatatypeVisitorVisiting method for visiting aCompound.- Specified by:
visitCompoundTypein interfaceIDatatypeVisitor- Parameters:
compound- TheCompoundwhich should be visited.
-
visitEnumType
Description copied from interface:IDatatypeVisitorVisiting method for visiting aEnum.- Specified by:
visitEnumTypein interfaceIDatatypeVisitor- Parameters:
enumType- TheEnumwhich should be visited.
-
visitOrderedEnumType
Description copied from interface:IDatatypeVisitorVisiting method for visiting aOrderredEnum.- Specified by:
visitOrderedEnumTypein interfaceIDatatypeVisitor- Parameters:
enumType- TheEnumwhich should be visited.
-
visitVersionType
Description copied from interface:IDatatypeVisitorVisiting method for visiting aVersionType.- Specified by:
visitVersionTypein interfaceIDatatypeVisitor- Parameters:
type- TheIDatatypewhich should be visited.
-