(Symbol alias, Namespace ns)
| 244 | } |
| 245 | |
| 246 | public void addAlias(Symbol alias, Namespace ns){ |
| 247 | if (alias == null || ns == null) |
| 248 | throw new NullPointerException("Expecting Symbol + Namespace"); |
| 249 | IPersistentMap map = getAliases(); |
| 250 | while(!map.containsKey(alias)) |
| 251 | { |
| 252 | IPersistentMap newMap = map.assoc(alias, ns); |
| 253 | aliases.compareAndSet(map, newMap); |
| 254 | map = getAliases(); |
| 255 | } |
| 256 | // you can rebind an alias, but only to the initially-aliased namespace. |
| 257 | if(!map.valAt(alias).equals(ns)) |
| 258 | throw new IllegalStateException("Alias " + alias + " already exists in namespace " |
| 259 | + name + ", aliasing " + map.valAt(alias)); |
| 260 | } |
| 261 | |
| 262 | public void removeAlias(Symbol alias) { |
| 263 | IPersistentMap map = getAliases(); |
nothing calls this directly
no test coverage detected