本文整理了Java中clojure.lang.Namespace.areDifferentInstancesOfSameClassName()
方法的一些代码示例,展示了Namespace.areDifferentInstancesOfSameClassName()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Namespace.areDifferentInstancesOfSameClassName()
方法的具体详情如下:
包路径:clojure.lang.Namespace
类名称:Namespace
方法名:areDifferentInstancesOfSameClassName
暂无
代码示例来源:origin: videlalvaro/clochure
Class referenceClass(Symbol sym, Class val){
if(sym.ns != null)
{
throw new IllegalArgumentException("Can't intern namespace-qualified symbol");
}
IPersistentMap map = getMappings();
Class c = (Class) map.valAt(sym);
while((c == null) || (areDifferentInstancesOfSameClassName(c, val)))
{
IPersistentMap newMap = map.assoc(sym, val);
mappings.compareAndSet(map, newMap);
map = getMappings();
c = (Class) map.valAt(sym);
}
if(c == val)
return c;
throw new IllegalStateException(sym + " already refers to: " + c + " in namespace: " + name);
}
代码示例来源:origin: org.dunaj/clojure
Class referenceClass(Symbol sym, Class val){
if(sym.ns != null)
{
throw new IllegalArgumentException("Can't intern namespace-qualified symbol");
}
IPersistentMap map = getMappings();
Class c = (Class) map.valAt(sym);
while((c == null) || (areDifferentInstancesOfSameClassName(c, val)))
{
IPersistentMap newMap = map.assoc(sym, val);
mappings.compareAndSet(map, newMap);
map = getMappings();
c = (Class) map.valAt(sym);
}
if(c == val)
return c;
throw new IllegalStateException(sym + " already refers to: " + c + " in namespace: " + name);
}
内容来源于网络,如有侵权,请联系作者删除!