MCPcopy Index your code
hub / github.com/clojure/clojure / checkReplacement

Method checkReplacement

src/jvm/clojure/lang/Namespace.java:106–124  ·  view source on GitHub ↗
(Symbol sym, Object old, Object neu)

Source from the content-addressed store, hash-verified

104| alias mapping | name -> other/whatever | warn + replace | warn + replace |
105*/
106private boolean checkReplacement(Symbol sym, Object old, Object neu){
107 if(old instanceof Var) {
108 Namespace ons = ((Var)old).ns;
109 Namespace nns = neu instanceof Var ? ((Var) neu).ns : null;
110
111 if(isInternedMapping(sym, old)){
112 if(nns != RT.CLOJURE_NS){
113 RT.errPrintWriter().println("REJECTED: attempt to replace interned var "
114 + old + " with " + neu + " in " + name + ", you must ns-unmap first");
115 return false;
116 }
117 else
118 return false;
119 }
120 }
121 RT.errPrintWriter().println("WARNING: " + sym + " already refers to: " + old + " in namespace: " + name
122 + ", being replaced by: " + neu);
123 return true;
124}
125
126Object reference(Symbol sym, Object val){
127 if(sym.ns != null)

Callers 2

internMethod · 0.95
referenceMethod · 0.95

Calls 2

isInternedMappingMethod · 0.95
errPrintWriterMethod · 0.95

Tested by

no test coverage detected