org.onemind.commons.java.datastructure
private static class NametableStack.LocalNametable extends java.lang.Object implements Nametable
Modifier and Type | Field and Description |
---|---|
private Nametable |
_global
the global map
|
private java.util.Map |
_locals
the local variables
|
private int |
_scope
the scope
|
Modifier | Constructor and Description |
---|---|
private |
NametableStack.LocalNametable(Nametable global,
int scope)
Constructor
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
access(java.lang.String name)
Access the value associated with name
|
java.util.Map |
asMap()
Return map representation of this nametable
|
java.lang.Object |
assign(java.lang.String name,
java.lang.Object value)
Assign a variable in the name table
|
boolean |
containsName(java.lang.String key)
Whether the nametable contains the name
|
void |
declare(java.lang.String name,
java.lang.Object value)
Declare a variable in the name table
|
private Nametable |
getGlobal()
Get the global
|
java.lang.String |
toString() |
void |
undeclare(java.lang.String name)
Undeclare the name
|
private final java.util.Map _locals
private final Nametable _global
private final int _scope
private NametableStack.LocalNametable(Nametable global, int scope)
global
- the globalscope
- the scope # where this local nametabe is opennedprivate Nametable getGlobal()
public boolean containsName(java.lang.String key)
containsName
in interface Nametable
key
- the namepublic void declare(java.lang.String name, java.lang.Object value)
public java.lang.Object assign(java.lang.String name, java.lang.Object value)
public java.lang.Object access(java.lang.String name)
public void undeclare(java.lang.String name)
public java.lang.String toString()
toString
in class java.lang.Object