(LocalBinding b, ObjMethod method)
| 8108 | } |
| 8109 | |
| 8110 | static void closeOver(LocalBinding b, ObjMethod method){ |
| 8111 | if(b != null && method != null) |
| 8112 | { |
| 8113 | LocalBinding lb = (LocalBinding) RT.get(method.locals, b); |
| 8114 | if(lb == null) |
| 8115 | { |
| 8116 | method.objx.closes = (IPersistentMap) RT.assoc(method.objx.closes, b, b); |
| 8117 | closeOver(b, method.parent); |
| 8118 | } |
| 8119 | else { |
| 8120 | if(lb.idx == 0) |
| 8121 | method.usesThis = true; |
| 8122 | if(IN_CATCH_FINALLY.deref() != null) |
| 8123 | { |
| 8124 | method.localsUsedInCatchFinally = (PersistentHashSet) method.localsUsedInCatchFinally.cons(b.idx); |
| 8125 | } |
| 8126 | } |
| 8127 | } |
| 8128 | } |
| 8129 | |
| 8130 | static LocalBinding referenceLocal(Symbol sym) { |
| 8131 | if(!LOCAL_ENV.isBound()) |
no test coverage detected