| 7789 | } |
| 7790 | |
| 7791 | private static KeywordExpr registerKeyword(Keyword keyword){ |
| 7792 | if(!KEYWORDS.isBound()) |
| 7793 | return new KeywordExpr(keyword); |
| 7794 | |
| 7795 | IPersistentMap keywordsMap = (IPersistentMap) KEYWORDS.deref(); |
| 7796 | Object id = RT.get(keywordsMap, keyword); |
| 7797 | if(id == null) |
| 7798 | { |
| 7799 | KEYWORDS.set(RT.assoc(keywordsMap, keyword, registerConstant(keyword))); |
| 7800 | } |
| 7801 | return new KeywordExpr(keyword); |
| 7802 | // KeywordExpr ke = (KeywordExpr) RT.get(keywordsMap, keyword); |
| 7803 | // if(ke == null) |
| 7804 | // KEYWORDS.set(RT.assoc(keywordsMap, keyword, ke = new KeywordExpr(keyword))); |
| 7805 | // return ke; |
| 7806 | } |
| 7807 | |
| 7808 | private static int registerKeywordCallsite(Keyword keyword){ |
| 7809 | IPersistentVector keywordCallsites = (IPersistentVector) KEYWORD_CALLSITES.deref(); |