Class Scope
- java.lang.Object
-
- de.fraunhofer.aisec.cpg.passes.scopes.Scope
-
- Direct Known Subclasses:
DeclarationScope,NameScope
public abstract class Scope extends java.lang.ObjectRepresent semantic scopes in the language and only saves information, such as relevant statements. Pre and Postprocessing is done by the passes. Only the passes themselves know the semantics of used edges, but different passes can use the same scope stack concept.
-
-
Field Summary
Fields Modifier and Type Field Description protected NodeastNodeprotected java.util.List<Scope>childrenprotected java.util.Map<java.lang.String,LabelStatement>labelStatementsprotected Scopeparent
-
Constructor Summary
Constructors Constructor Description Scope()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddLabelStatement(LabelStatement labelStatement)NodegetAstNode()java.util.List<Scope>getChildren()java.util.Map<java.lang.String,LabelStatement>getLabelStatements()ScopegetParent()voidsetAstNode(Node astNode)voidsetChildren(java.util.List<Scope> children)voidsetLabelStatements(java.util.Map<java.lang.String,LabelStatement> labelStatements)voidsetParent(Scope parent)
-
-
-
Field Detail
-
astNode
protected Node astNode
-
parent
protected Scope parent
-
children
protected java.util.List<Scope> children
-
labelStatements
protected java.util.Map<java.lang.String,LabelStatement> labelStatements
-
-
Method Detail
-
getAstNode
public Node getAstNode()
-
setAstNode
public void setAstNode(Node astNode)
-
getLabelStatements
public java.util.Map<java.lang.String,LabelStatement> getLabelStatements()
-
setLabelStatements
public void setLabelStatements(java.util.Map<java.lang.String,LabelStatement> labelStatements)
-
addLabelStatement
public void addLabelStatement(LabelStatement labelStatement)
-
getParent
public Scope getParent()
-
setParent
public void setParent(Scope parent)
-
getChildren
public java.util.List<Scope> getChildren()
-
setChildren
public void setChildren(java.util.List<Scope> children)
-
-