Class NestedScope

  • All Implemented Interfaces:
    ParserScope

    public class NestedScope
    extends java.lang.Object
    implements ParserScope
    An implementation of ParserScope that consists of a list of nested scopes. A lookup starts from the first scope in the list, and proceeds through the list until a mapping is found.
    Since:
    Ptolemy II 2.1
    Version:
    $Id$
    Author:
    Xiaojun Liu
    Pt.AcceptedRating:
    Red (liuxj)
    Pt.ProposedRating:
    Red (liuxj)
    • Constructor Summary

      Constructors 
      Constructor Description
      NestedScope​(java.util.List scopeList)
      Construct a new scope that consists of the given list of scopes.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Token get​(java.lang.String name)
      Look up and return the value with the specified name in the scope.
      Type getType​(java.lang.String name)
      Look up and return the type of the value with the specified name in the scope.
      InequalityTerm getTypeTerm​(java.lang.String name)
      Look up and return the type term for the specified name in the scope.
      java.util.Set identifierSet()
      Return the list of identifiers within the scope.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • NestedScope

        public NestedScope​(java.util.List scopeList)
        Construct a new scope that consists of the given list of scopes.
        Parameters:
        scopeList - The list of scopes.
    • Method Detail

      • get

        public Token get​(java.lang.String name)
                  throws IllegalActionException
        Look up and return the value with the specified name in the scope. Start from the first scope in the list supplied to the constructor. If a value is found, return the value, otherwise continue to look up through the list. Return null if no mapping is defined in any scope in the list.
        Specified by:
        get in interface ParserScope
        Parameters:
        name - The name of the variable to be looked up.
        Returns:
        The token associated with the given name in the scope.
        Throws:
        IllegalActionException - If a value in the scope exists with the given name, but cannot be evaluated.
      • getType

        public Type getType​(java.lang.String name)
                     throws IllegalActionException
        Look up and return the type of the value with the specified name in the scope. Return null if the name is not defined in this scope.
        Specified by:
        getType in interface ParserScope
        Parameters:
        name - The name of the variable to be looked up.
        Returns:
        The token associated with the given name in the scope.
        Throws:
        IllegalActionException - If a value in the scope exists with the given name, but cannot be evaluated.
      • getTypeTerm

        public InequalityTerm getTypeTerm​(java.lang.String name)
                                   throws IllegalActionException
        Look up and return the type term for the specified name in the scope. Return null if the name is not defined in this scope, or is a constant type.
        Specified by:
        getTypeTerm in interface ParserScope
        Parameters:
        name - The name of the variable to be looked up.
        Returns:
        The InequalityTerm associated with the given name in the scope.
        Throws:
        IllegalActionException - If a value in the scope exists with the given name, but cannot be evaluated.
      • identifierSet

        public java.util.Set identifierSet()
                                    throws IllegalActionException
        Return the list of identifiers within the scope.
        Specified by:
        identifierSet in interface ParserScope
        Returns:
        The union of the identifierSets of the contained scopes.
        Throws:
        IllegalActionException - If the identifierSet() method of a contained scope throws it.