|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.onemind.commons.java.datastructure.NametableStack.LocalNametable
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. This is useful for implementing function context
Field Summary | |
---|---|
private Nametable |
_global
the global map |
private java.util.Map |
_locals
the local variables |
private int |
_scope
the scope |
Constructor Summary | |
---|---|
private |
NametableStack.LocalNametable(Nametable global,
int scope)
Constructor |
Method Summary | |
---|---|
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 |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private final java.util.Map _locals
private final Nametable _global
private final int _scope
Constructor Detail |
---|
private NametableStack.LocalNametable(Nametable global, int scope)
global
- the globalscope
- the scope # where this local nametabe is opennedMethod Detail |
---|
private Nametable getGlobal()
public boolean containsName(java.lang.String key)
containsName
in interface Nametable
key
- the name
public void declare(java.lang.String name, java.lang.Object value)
declare
in interface Nametable
name
- the namevalue
- the valuepublic java.lang.Object assign(java.lang.String name, java.lang.Object value)
assign
in interface Nametable
name
- the namevalue
- the value
public java.lang.Object access(java.lang.String name)
access
in interface Nametable
public void undeclare(java.lang.String name)
undeclare
in interface Nametable
public java.lang.String toString()
toString
in class java.lang.Object
public java.util.Map asMap()
Nametable
asMap
in interface Nametable
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |