## com.google.javascript.jscomp
Class SymbolTable.SymbolScope

    java.lang.Object
      com.google.javascript.jscomp.SymbolTable.SymbolScope

All Implemented Interfaces:
  StaticScope<JSType>

Enclosing class:
  SymbolTable

    public static final class SymbolTable.SymbolScope

extends Object
implements StaticScope<JSType>

Method Summary
`int` | `getIndexOfSymbol(SymbolTable.Symbol sym)` Gets a unique index for the symbol in this scope.
`SymbolTable.Symbol` | `getOwnSlot(String name)` Like `getSlot` but does not recurse into parent scopes.
`SymbolTable.SymbolScope` | `getParentScope()` Returns the scope enclosing this one or null if none.
`SymbolTable.Symbol` | `getQualifiedSlot(String name)` Get the slot for a fully-qualified name (e.g., "a.b.c") by trying to find property scopes at each part of the path.
`Node` | `getRootNode()` Returns the root node associated with this scope.
`int` | `getScopeDepth()`
`SymbolTable.Symbol` | `getSlot(String name)` Returns any defined slot within this scope for this name.
`JSType` | `getTypeOfThis()` Returns the expected type of `this` in the current scope.
`boolean` | `isDocScope()` Returns whether this is a doc scope.
`boolean` | `isGlobalScope()`
`boolean` | `isLexicalScope()`
`boolean` | `isPropertyScope()`
`String` | `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Method Detail

### getIndexOfSymbol

    public int getIndexOfSymbol(SymbolTable.Symbol sym)

  Gets a unique index for the symbol in this scope.

### getRootNode

    public Node getRootNode()

  Description copied from interface: `StaticScope`
  Returns the root node associated with this scope. May be null.

  Specified by:
    `getRootNode` in interface `StaticScope<JSType>`

### getParentScope

    public SymbolTable.SymbolScope getParentScope()

  Description copied from interface: `StaticScope`
  Returns the scope enclosing this one or null if none.

  Specified by:
    `getParentScope` in interface `StaticScope<JSType>`

### getQualifiedSlot

    public SymbolTable.Symbol getQualifiedSlot(String name)

  Get the slot for a fully-qualified name (e.g., "a.b.c") by trying to find property scopes at each part of the path.

### getSlot

    public SymbolTable.Symbol getSlot(String name)

  Description copied from interface: `StaticScope`
  Returns any defined slot within this scope for this name. This call continues searching through parent scopes if a slot with this name is not found in the current scope.

  Specified by:
    `getSlot` in interface `StaticScope<JSType>`
  Parameters:
    `name` - The name of the variable slot to look up.
  Returns:
    The defined slot for the variable, or `null` if no definition exists.

### getOwnSlot

    public SymbolTable.Symbol getOwnSlot(String name)

  Description copied from interface: `StaticScope`
  Like `getSlot` but does not recurse into parent scopes.

  Specified by:
    `getOwnSlot` in interface `StaticScope<JSType>`

### getTypeOfThis

    public JSType getTypeOfThis()

  Description copied from interface: `StaticScope`
  Returns the expected type of `this` in the current scope.

  Specified by:
    `getTypeOfThis` in interface `StaticScope<JSType>`

### isGlobalScope

    public boolean isGlobalScope()

### isDocScope

    public boolean isDocScope()

  Returns whether this is a doc scope. A doc scope is a table for symbols that are documented solely within a JSDoc comment.

### isPropertyScope

    public boolean isPropertyScope()

### isLexicalScope

    public boolean isLexicalScope()

### getScopeDepth

    public int getScopeDepth()

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`