public class NametableStack
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private static class |
NametableStack.LocalNametable
The local nametable defines a scope where local variables mask out the global
variables, but the global variable can still be accessed.
|
Modifier and Type | Field and Description |
---|---|
private java.util.ArrayList |
_list
the list of maps *
|
private static java.util.logging.Logger |
_logger
the logger *
|
private Nametable |
_nametable
the map *
|
Constructor and Description |
---|
NametableStack() |
NametableStack(java.util.Map m) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
access(java.lang.String name)
Resolve the value associated with key name
|
java.util.Map |
asMap()
Return map representation of the nametable stack
|
java.lang.Object |
assign(java.lang.String name,
java.lang.Object value)
Assign name/value pair
|
void |
closeLocalScope(int i) |
void |
closeScope(int l)
Close a scope
|
boolean |
containsName(java.lang.String name)
Whether the map contains key name
|
void |
declare(java.lang.String name,
java.lang.Object value)
Declare name value pair
|
int |
newLocalScope() |
int |
newScope()
Open a new scope for mappings.
|
java.lang.String |
toString() |
private static final java.util.logging.Logger _logger
private Nametable _nametable
private java.util.ArrayList _list
public NametableStack()
public NametableStack(java.util.Map m)
m
- the initial mappingpublic int newScope()
public int newLocalScope()
public void closeLocalScope(int i)
public void closeScope(int l)
l
- the scope idpublic void declare(java.lang.String name, java.lang.Object value)
name
- value
- public java.lang.Object assign(java.lang.String name, java.lang.Object value)
name
- value
- public java.lang.Object access(java.lang.String name)
name
- the keypublic boolean containsName(java.lang.String name)
name
- the keypublic java.util.Map asMap()
public java.lang.String toString()
toString
in class java.lang.Object