6 * represents a symbol in the language (var name, function name, etc).
9 public abstract class Descriptor {
11 protected String name;
12 protected String safename;
16 public Descriptor(String name) {
18 this.safename = "___" + name + "___";
19 this.uniqueid=count++;
22 protected Descriptor(String name, String safename) {
24 this.safename = safename;
25 this.uniqueid=count++;
28 public String toString() {
32 public String getSymbol() {
36 //the text replacement is done here because SOMEWHERE someone
37 //modifies safename without going through the constructor...
38 public String getSafeSymbol() {
46 public String getCoreSafeSymbol(int num) {
47 return safename + "core" + num + "___";