Class VariableNameSource
- java.lang.Object
 - 
- jetbrains.mps.generator.impl.template.VariableNameSource
 
 
- 
public final class VariableNameSource extends Object
Tracks visibility context of a variable name, produce name unique in the context. Not thread-safe, deemed for use from single thread. The only non-safe operation is assign/access new name, could be guarded, if necessary. 
- 
- 
Constructor Summary
Constructors Constructor Description VariableNameSource(String baseName)VariableNameSource(String baseName, AtomicInteger counter)VariableNameSource(String baseName, AtomicInteger counter, String actualName) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetActualName()StringgetNewName()booleanhasNewName()StringnewName()Construct and record new variable name, overriding previous one (i.e.VariableNameSourcenext() 
 - 
 
- 
- 
Constructor Detail
- 
VariableNameSource
public VariableNameSource(@NotNull String baseName, @NotNull AtomicInteger counter)
 
 - 
 
- 
Method Detail
- 
getActualName
public String getActualName()
- Returns:
 - name this source got at construction time, never 
null 
 
- 
getNewName
public String getNewName()
- Returns:
 - name latest created with a 
newName()operation, oractual nameif no new name was assigned, nevernull 
 
- 
hasNewName
public boolean hasNewName()
 
- 
newName
public String newName()
Construct and record new variable name, overriding previous one (i.e. result of precedingnewName()call).- Returns:
 - newly constructed name, never 
null 
 
- 
next
public VariableNameSource next()
- Returns:
 - name source with 
getNewName()value of the current source as itsgetActualName(). 
 
 - 
 
 -