Changeset 14559
- Timestamp:
- 06/23/13 14:20:40 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/1.2.x/src/org/armedbear/lisp/Package.java
r14550 r14559 607 607 if (sym == null) 608 608 sym = internalSymbols.get(symbol.name.toString()); 609 if (sym != null) { 610 if (sym != symbol) { 611 if (shadowingSymbols != null) 612 shadowingSymbols.remove(symbolName); 613 unintern(sym); 614 } else { 615 // Assert argument is already correctly a shadowing import 616 Debug.assertTrue(shadowingSymbols != null); 617 Debug.assertTrue(shadowingSymbols.get(symbolName) != null); 618 return; 619 } 620 } 621 internalSymbols.put(symbol.name.toString(), symbol); 609 610 // if a different symbol with the same name is accessible, 611 // [..] which implies that it must be uninterned if it was present 612 if (sym != null && sym != symbol) { 613 if (shadowingSymbols != null) 614 shadowingSymbols.remove(symbolName); 615 unintern(sym); 616 } 617 618 if (sym == null || sym != symbol) { 619 // there was no symbol, or we just unintered it another one 620 // intern the new one 621 internalSymbols.put(symbol.name.toString(), symbol); 622 } 623 622 624 if (shadowingSymbols == null) 623 625 shadowingSymbols = new HashMap<String,Symbol>(); 624 Debug.assertTrue(shadowingSymbols.get(symbolName) == null);625 626 shadowingSymbols.put(symbolName, symbol); 626 627 }
Note: See TracChangeset
for help on using the changeset viewer.