public class ScopeStack
extends java.lang.Object
| Constructor and Description |
|---|
ScopeStack() |
| Modifier and Type | Method and Description |
|---|---|
void |
closeScope() |
java.lang.String |
declareVariable(java.lang.Object key,
java.lang.String proposedName,
boolean synthetic) |
java.lang.String |
declareVariable(java.lang.Object key,
java.lang.String proposedName,
boolean synthetic,
boolean withUniqueName)
provides and registers a fresh variable in the current scope.
|
protected java.lang.String |
findNewName(java.util.Set<java.lang.String> names,
java.lang.String proposedName) |
java.lang.Object |
get(java.lang.String name) |
java.lang.String |
getName(java.lang.Object referenced) |
void |
openScope(boolean pseudoScope) |
java.lang.String |
removeName(java.lang.Object referenced) |
public void openScope(boolean pseudoScope)
public void closeScope()
public java.lang.Object get(java.lang.String name)
public java.lang.String getName(java.lang.Object referenced)
public java.lang.String removeName(java.lang.Object referenced)
throws java.lang.IllegalStateException
java.lang.IllegalStateException - if the referenced object does not have a name in the current scope.public java.lang.String declareVariable(java.lang.Object key,
java.lang.String proposedName,
boolean synthetic)
public java.lang.String declareVariable(java.lang.Object key,
java.lang.String proposedName,
boolean synthetic,
boolean withUniqueName)
withUniqueName - This is a workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=445949protected java.lang.String findNewName(java.util.Set<java.lang.String> names,
java.lang.String proposedName)