Class TemplateDeclaration
java.lang.Object
de.fraunhofer.aisec.cpg.graph.Node
de.fraunhofer.aisec.cpg.graph.declarations.Declaration
de.fraunhofer.aisec.cpg.graph.declarations.TemplateDeclaration
- All Implemented Interfaces:
DeclarationHolder,Persistable,IVisitable<de.fraunhofer.aisec.cpg.graph.Node>
- Direct Known Subclasses:
ClassTemplateDeclaration,FunctionTemplateDeclaration
public abstract class TemplateDeclaration extends Declaration implements DeclarationHolder
Abstract class representing the template concept
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTemplateDeclaration.TemplateInitializationNested classes/interfaces inherited from class de.fraunhofer.aisec.cpg.graph.Node
de.fraunhofer.aisec.cpg.graph.Node.Companion -
Field Summary
Fields Modifier and Type Field Description protected java.util.List<de.fraunhofer.aisec.cpg.graph.edge.PropertyEdge<Declaration>>parametersParameters the Template requires for instantiationFields inherited from class de.fraunhofer.aisec.cpg.graph.Node
Companion, EMPTY_NAME, TO_STRING_STYLE -
Constructor Summary
Constructors Constructor Description TemplateDeclaration() -
Method Summary
Modifier and Type Method Description voidaddParameter(ParamVariableDeclaration nonTypeTemplateParamDeclaration)voidaddParameter(TypeParamDeclaration parameterizedType)booleanequals(java.lang.Object o)@NonNull java.util.List<Declaration>getDeclarations()java.util.List<de.fraunhofer.aisec.cpg.graph.Node>getParameterDefaults()java.util.List<Declaration>getParameters()java.util.List<Declaration>getParametersOfClazz(java.lang.Class<? extends Declaration> clazz)java.util.List<de.fraunhofer.aisec.cpg.graph.edge.PropertyEdge<Declaration>>getParametersPropertyEdge()java.util.List<Declaration>getParametersWithDefaults()abstract java.util.List<Declaration>getRealizationDeclarations()inthashCode()voidremoveParameter(ParamVariableDeclaration nonTypeTemplateParamDeclaration)voidremoveParameter(TypeParamDeclaration parameterizedType)Methods inherited from class de.fraunhofer.aisec.cpg.graph.Node
addAnnotations, addNextDFG, addNextEOG, addPrevDFG, addPrevEOG, addTypedef, clearNextEOG, disconnectFromGraph, getAnnotations, getArgumentIndex, 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, setTypedefs, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface de.fraunhofer.aisec.cpg.graph.DeclarationHolder
addDeclaration, addIfNotContains, addIfNotContains, addIfNotContainsMethods inherited from interface de.fraunhofer.aisec.cpg.processing.IVisitable
accept
-
Field Details
-
parameters
Parameters the Template requires for instantiation
-
-
Constructor Details
-
TemplateDeclaration
public TemplateDeclaration()
-
-
Method Details
-
getParameters
-
getParametersOfClazz
public java.util.List<Declaration> getParametersOfClazz(java.lang.Class<? extends Declaration> clazz) -
getParametersPropertyEdge
public java.util.List<de.fraunhofer.aisec.cpg.graph.edge.PropertyEdge<Declaration>> getParametersPropertyEdge() -
getParametersWithDefaults
-
getParameterDefaults
public java.util.List<de.fraunhofer.aisec.cpg.graph.Node> getParameterDefaults() -
addParameter
-
addParameter
-
getDeclarations
- Specified by:
getDeclarationsin interfaceDeclarationHolder
-
removeParameter
-
removeParameter
-
getRealizationDeclarations
-
equals
public boolean equals(java.lang.Object o)- Overrides:
equalsin classde.fraunhofer.aisec.cpg.graph.Node
-
hashCode
public int hashCode()- Overrides:
hashCodein classde.fraunhofer.aisec.cpg.graph.Node
-