Class ScopeManager


  • public class ScopeManager
    extends java.lang.Object
    • Method Detail

      • getCurrentScope

        public Scope getCurrentScope()
      • enterScopeIfExists

        public void enterScopeIfExists​(Node nodeToScope)
      • leaveScopeIfExists

        public Scope leaveScopeIfExists​(Node nodeToLeave)
      • enterScope

        public void enterScope​(Node nodeToScope)
      • isBreakable

        public boolean isBreakable​(Scope scope)
      • isContinuable

        public boolean isContinuable​(Scope scope)
      • leaveScope

        public Scope leaveScope​(Node nodeToLeave)
        Remove all scopes above the specified one including the specified one.
        Parameters:
        nodeToLeave - - The scope is defined by its astNode
        Returns:
        the scope is returned for processing
      • getFirstScopeThat

        public Scope getFirstScopeThat​(java.util.function.Predicate<Scope> predicate)
      • getFirstScopeThat

        public Scope getFirstScopeThat​(Scope searchScope,
                                       java.util.function.Predicate<Scope> predicate)
      • getScopesThat

        public java.util.List<Scope> getScopesThat​(java.util.function.Predicate<Scope> predicate)
      • getUniqueScopesThat

        public <T> java.util.List<Scope> getUniqueScopesThat​(java.util.function.Predicate<Scope> predicate,
                                                             java.util.function.Function<Scope,​T> uniqueProperty)
      • addBreakStatment

        public void addBreakStatment​(BreakStatement breakStatement)
      • addContinueStatment

        public void addContinueStatment​(ContinueStatement continueStatement)
      • addLabelStatement

        public void addLabelStatement​(LabelStatement labelStatement)
      • getLabelStatement

        public LabelStatement getLabelStatement​(java.lang.String labelString)
      • addValueDeclaration

        public void addValueDeclaration​(VariableDeclaration variableDeclaration)
      • addValueDeclaration

        public void addValueDeclaration​(FieldDeclaration fieldDeclaration)
      • addValueDeclaration

        public void addValueDeclaration​(FunctionDeclaration functionDeclaration)
      • getCurrentNamePrefix

        public java.lang.String getCurrentNamePrefix()
      • getFullNamePrefix

        public java.lang.String getFullNamePrefix()
      • getScopeOfStatment

        public Scope getScopeOfStatment​(Node node)
      • getDeclarationForName

        public Declaration getDeclarationForName​(java.lang.String name)