Class ObjectType
- java.lang.Object
-
- de.fraunhofer.aisec.cpg.graph.Node
-
- de.fraunhofer.aisec.cpg.graph.types.Type
-
- de.fraunhofer.aisec.cpg.graph.types.ObjectType
-
- All Implemented Interfaces:
Persistable,IVisitable<Node>
public class ObjectType extends Type
This is the main type in the Type system. ObjectTypes describe objects, as instances of a class. This also includes primitive data types.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classObjectType.ModifierObjectTypes can have a modifier if they are primitive datatypes.-
Nested classes/interfaces inherited from class de.fraunhofer.aisec.cpg.graph.types.Type
Type.Origin, Type.Qualifier, Type.Storage
-
-
Field Summary
-
Fields inherited from class de.fraunhofer.aisec.cpg.graph.types.Type
origin, primitive, qualifier, storage, superTypes, UNKNOWN_TYPE_STRING
-
-
Constructor Summary
Constructors Constructor Description ObjectType()ObjectType(Type type, java.util.List<Type> generics, ObjectType.Modifier modifier, boolean primitive)ObjectType(java.lang.String typeName, Type.Storage storage, Type.Qualifier qualifier, java.util.List<Type> generics, ObjectType.Modifier modifier, boolean primitive)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddGeneric(Type generic)Typedereference()Typeduplicate()booleanequals(java.lang.Object o)java.util.List<PropertyEdge<Type>>getGenericPropertyEdges()java.util.List<Type>getGenerics()RecordDeclarationgetRecordDeclaration()inthashCode()booleanisSimilar(Type t)Required for possibleSubTypes to check if the new Type should be considered a subtype or notPointerTypereference(PointerType.PointerOrigin pointerOrigin)voidsetGenerics(java.util.List<Type> generics)voidsetRecordDeclaration(RecordDeclaration recordDeclaration)java.lang.StringtoString()-
Methods inherited from class de.fraunhofer.aisec.cpg.graph.types.Type
getQualifier, getReferenceDepth, getRoot, getStorage, getSuperTypes, getTypeName, getTypeOrigin, isFirstOrderType, isPrimitive, refreshNames, setAdditionalTypeKeywords, setQualifier, setRoot, setStorage, setTypeOrigin
-
Methods inherited from class de.fraunhofer.aisec.cpg.graph.Node
addAnnotations, addNextCFG, addNextCFG, addNextDFG, addNextEOG, addPrevDFG, addPrevEOG, addTypedef, clearNextEOG, disconnectFromGraph, getAnnotations, getArgumentIndex, getCode, getFile, getId, getLocation, getName, getNextCFG, getNextDFG, getNextEOG, getNextEOGProperties, getNextEOGPropertyEdge, getPrevDFG, getPrevEOG, getPrevEOGProperties, getTypedefs, isDummy, isImplicit, removeNextDFG, removePrevDFG, removePrevEOGEntries, removePrevEOGEntry, setArgumentIndex, setCode, setComment, setDummy, setFile, setImplicit, setLocation, setName, setNextDFG, setNextEOG, setPrevDFG, setPrevEOG, setPrevEOGProperties, setTypedefs
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface de.fraunhofer.aisec.cpg.processing.IVisitable
accept
-
-
-
-
Constructor Detail
-
ObjectType
public ObjectType(java.lang.String typeName, Type.Storage storage, Type.Qualifier qualifier, java.util.List<Type> generics, ObjectType.Modifier modifier, boolean primitive)
-
ObjectType
public ObjectType(Type type, java.util.List<Type> generics, ObjectType.Modifier modifier, boolean primitive)
-
ObjectType
public ObjectType()
-
-
Method Detail
-
getGenerics
public java.util.List<Type> getGenerics()
-
getGenericPropertyEdges
public java.util.List<PropertyEdge<Type>> getGenericPropertyEdges()
-
getRecordDeclaration
public RecordDeclaration getRecordDeclaration()
-
setRecordDeclaration
public void setRecordDeclaration(RecordDeclaration recordDeclaration)
-
reference
public PointerType reference(PointerType.PointerOrigin pointerOrigin)
-
dereference
public Type dereference()
- Specified by:
dereferencein classType- Returns:
- UnknownType, as we cannot infer any type information when dereferencing an ObjectType, as it is just some memory and its interpretation is unknown
-
duplicate
public Type duplicate()
-
setGenerics
public void setGenerics(java.util.List<Type> generics)
-
addGeneric
public void addGeneric(Type generic)
-
isSimilar
public boolean isSimilar(Type t)
Description copied from class:TypeRequired for possibleSubTypes to check if the new Type should be considered a subtype or not
-
-