Class Scope

  • Direct Known Subclasses:
    DeclarationScope, NameScope

    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 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
    • Constructor Detail

      • Scope

        public Scope()
    • 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)