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:
HasType.SecondaryTypeEdge,Persistable,IVisitable<de.fraunhofer.aisec.cpg.graph.Node>
public class ObjectType extends Type implements HasType.SecondaryTypeEdge
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.StorageNested classes/interfaces inherited from class de.fraunhofer.aisec.cpg.graph.Node
de.fraunhofer.aisec.cpg.graph.Node.Companion -
Field Summary
Fields inherited from class de.fraunhofer.aisec.cpg.graph.types.Type
origin, primitive, qualifier, storage, superTypes, UNKNOWN_TYPE_STRINGFields inherited from class de.fraunhofer.aisec.cpg.graph.Node
Companion, EMPTY_NAME, TO_STRING_STYLE -
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
Modifier and Type Method Description voidaddGeneric(Type generic)voidaddGenerics(java.util.List<Type> generics)Typedereference()Typeduplicate()booleanequals(java.lang.Object o)java.util.List<de.fraunhofer.aisec.cpg.graph.edge.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)voidreplaceGenerics(Type oldType, Type newType)voidsetGenerics(java.util.List<Type> generics)voidsetRecordDeclaration(RecordDeclaration recordDeclaration)voidupdateType(java.util.Collection<Type> typeState)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, toStringMethods inherited from class de.fraunhofer.aisec.cpg.graph.Node
addAnnotations, addNextDFG, addNextEOG, addPrevDFG, addPrevEOG, addTypedef, clearNextEOG, disconnectFromGraph, getAnnotations, getArgumentIndex, getAstChildren, getCode, getComment, getFile, getId, getLocation, getName, getNextDFG, getNextEOG, getNextEOGEdges, getPrevDFG, getPrevEOG, getPrevEOGEdges, getTypedefs, isImplicit, isInferred, removeNextDFG, removePrevDFG, removePrevEOGEntry, setAnnotations, setArgumentIndex, setCode, setComment, setFile, setId, setImplicit, setInferred, setLocation, setName, setNextDFG, setNextEOG, setNextEOGEdges, setPrevDFG, setPrevEOG, setPrevEOGEdges, setTypedefsMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface de.fraunhofer.aisec.cpg.processing.IVisitable
accept
-
Constructor Details
-
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 Details
-
updateType
- Specified by:
updateTypein interfaceHasType.SecondaryTypeEdge
-
replaceGenerics
-
getGenerics
-
getGenericPropertyEdges
public java.util.List<de.fraunhofer.aisec.cpg.graph.edge.PropertyEdge<Type>> getGenericPropertyEdges() -
getRecordDeclaration
-
setRecordDeclaration
-
reference
-
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
-
setGenerics
-
addGeneric
-
addGenerics
-
isSimilar
Description copied from class:TypeRequired for possibleSubTypes to check if the new Type should be considered a subtype or not -
equals
public boolean equals(java.lang.Object o) -
hashCode
public int hashCode()
-