java.lang.Object
de.fraunhofer.aisec.cpg.passes.scopes.Scope
Direct Known Subclasses:
ValueDeclarationScope

public abstract class Scope
extends java.lang.Object
Represent 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 Details

    • astNode

      protected de.fraunhofer.aisec.cpg.graph.Node astNode
    • scopedName

      protected java.lang.String scopedName
    • parent

      protected Scope parent
    • children

      protected java.util.List<Scope> children
    • labelStatements

      protected java.util.Map<java.lang.String,​LabelStatement> labelStatements
  • Constructor Details

    • Scope

      public Scope()
  • Method Details

    • getScopedName

      public java.lang.String getScopedName()
    • setScopedName

      public void setScopedName​(java.lang.String scopedName)
    • getAstNode

      public de.fraunhofer.aisec.cpg.graph.Node getAstNode()
    • setAstNode

      public void setAstNode​(de.fraunhofer.aisec.cpg.graph.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)