- All Known Implementing Classes:
- JsObfuscateNamer
public interface FreshNameGenerator
An interface for producing fresh names.
Objects that implement this generator retain some global state about scopes/programs to be
able to produce fresh names.
The names produced by a name generator might be arbitrary as long as they are fresh. Specific
FreshNameGenerators might be related to global renamers to produce fresh names according to
some consistent pattern. E.g. after a program is obfuscated one might need a FreshNameGenerator
that produces fresh obfuscated names to be introduced to the ast.