本文整理了Java中org.jruby.RubyClass.getSingletonClassClone
方法的一些代码示例,展示了RubyClass.getSingletonClassClone
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RubyClass.getSingletonClassClone
方法的具体详情如下:
包路径:org.jruby.RubyClass
类名称:RubyClass
方法名:getSingletonClassClone
暂无
代码示例来源:origin: org.jruby/jruby-complete
/** rb_singleton_class_clone
*
* Will make sure that if the current objects class is a
* singleton, it will get cloned.
*
* @return either a real class, or a clone of the current singleton class
*/
protected RubyClass getSingletonClassCloneAndAttach(RubyBasicObject attach) {
RubyClass klass = getMetaClass();
if (!klass.isSingleton()) {
return klass;
}
MetaClass clone = new MetaClass(getRuntime(), klass.getSuperClass(), attach);
clone.flags = klass.flags;
if (this instanceof RubyClass) {
clone.setMetaClass(clone);
} else {
clone.setMetaClass(klass.getSingletonClassClone());
}
if (klass.hasVariables()) clone.syncVariables(klass);
clone.syncConstants(klass);
klass.cloneMethods(clone);
((MetaClass) clone.getMetaClass()).setAttached(clone);
return clone;
}
代码示例来源:origin: org.jruby/jruby-core
/** rb_singleton_class_clone
*
* Will make sure that if the current objects class is a
* singleton, it will get cloned.
*
* @return either a real class, or a clone of the current singleton class
*/
protected RubyClass getSingletonClassCloneAndAttach(RubyBasicObject attach) {
RubyClass klass = getMetaClass();
if (!klass.isSingleton()) {
return klass;
}
MetaClass clone = new MetaClass(getRuntime(), klass.getSuperClass(), attach);
clone.flags = klass.flags;
if (this instanceof RubyClass) {
clone.setMetaClass(clone);
} else {
clone.setMetaClass(klass.getSingletonClassClone());
}
if (klass.hasVariables()) clone.syncVariables(klass);
clone.syncConstants(klass);
klass.cloneMethods(clone);
((MetaClass) clone.getMetaClass()).setAttached(clone);
return clone;
}
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
/** rb_singleton_class_clone
*
* Will make sure that if the current objects class is a
* singleton, it will get cloned.
*
* @return either a real class, or a clone of the current singleton class
*/
protected RubyClass getSingletonClassClone() {
RubyClass klass = getMetaClass();
if (!klass.isSingleton()) {
return klass;
}
MetaClass clone = new MetaClass(getRuntime(), klass.getSuperClass(), ((MetaClass) klass).getAttached());
clone.flags = flags;
if (this instanceof RubyClass) {
clone.setMetaClass(clone);
} else {
clone.setMetaClass(klass.getSingletonClassClone());
}
if (klass.hasVariables()) {
clone.syncVariables(klass);
}
clone.syncConstants(klass);
klass.cloneMethods(clone);
((MetaClass) clone.getMetaClass()).setAttached(clone);
return clone;
}
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
/** rb_singleton_class_clone
*
* Will make sure that if the current objects class is a
* singleton, it will get cloned.
*
* @return either a real class, or a clone of the current singleton class
*/
protected RubyClass getSingletonClassClone() {
RubyClass klass = getMetaClass();
if (!klass.isSingleton()) {
return klass;
}
MetaClass clone = new MetaClass(getRuntime(), klass.getSuperClass(), ((MetaClass) klass).getAttached());
clone.flags = flags;
if (this instanceof RubyClass) {
clone.setMetaClass(clone);
} else {
clone.setMetaClass(klass.getSingletonClassClone());
}
if (klass.hasVariables()) {
clone.syncVariables(klass);
}
clone.syncConstants(klass);
klass.cloneMethods(clone);
((MetaClass) clone.getMetaClass()).setAttached(clone);
return clone;
}
内容来源于网络,如有侵权,请联系作者删除!