diff options
Diffstat (limited to 'src/cli/runtime/Symbol.cs')
-rw-r--r-- | src/cli/runtime/Symbol.cs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/cli/runtime/Symbol.cs b/src/cli/runtime/Symbol.cs index 4f532d14..af7465f7 100644 --- a/src/cli/runtime/Symbol.cs +++ b/src/cli/runtime/Symbol.cs @@ -30,7 +30,10 @@ public String toString() return name; } -public static Symbol intern(String name)
{
lock(table)
{
Symbol sym = (Symbol) table[name];
if(sym == null)
{
if(name[0] == ':')
sym = new Keyword(name);
else
sym = new Symbol(name);
table.Add(name, sym);
}
return sym;
}
} +public static Symbol intern(String name)
{
lock(table)
{
Symbol sym = (Symbol) table[name];
if(sym == null)
{
if(name[0] == ':')
sym = new Keyword(name);
+ else if (name[0] == '.')
+ sym = new Accessor(name);
+ else
sym = new Symbol(name);
table.Add(name, sym);
}
return sym;
}
} /** * Used by Namespace.intern() * @param name |