本文整理了Java中org.jruby.RubyModule.setFlag
方法的一些代码示例,展示了RubyModule.setFlag
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RubyModule.setFlag
方法的具体详情如下:
包路径:org.jruby.RubyModule
类名称:RubyModule
方法名:setFlag
暂无
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
/**
* Set whether this Java proxy class should try to keep its instances idempotent
* and alive using the ObjectProxyCache.
*/
public void setCacheProxy(boolean cacheProxy) {
setFlag(USER0_F, cacheProxy);
}
代码示例来源:origin: org.jruby/jruby-core
/**
* Set whether this Java proxy class should try to keep its instances idempotent
* and alive using the ObjectProxyCache.
*/
public void setCacheProxy(boolean cacheProxy) {
setFlag(CACHEPROXY_F, cacheProxy);
}
代码示例来源:origin: org.jruby/jruby-complete
/**
* Set whether this Java proxy class should try to keep its instances idempotent
* and alive using the ObjectProxyCache.
*/
public void setCacheProxy(boolean cacheProxy) {
setFlag(CACHEPROXY_F, cacheProxy);
}
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
/**
* Set whether this Java proxy class should try to keep its instances idempotent
* and alive using the ObjectProxyCache.
*/
public void setCacheProxy(boolean cacheProxy) {
setFlag(USER0_F, cacheProxy);
}
代码示例来源:origin: org.jruby/jruby-complete
private RubyModule createNewRefinedModule(ThreadContext context, RubyModule moduleToRefine) {
Ruby runtime = context.runtime;
RubyModule newRefinement = new RubyModule(runtime);
RubyClass superClass = refinementSuperclass(runtime, this, moduleToRefine);
newRefinement.setSuperClass(superClass);
newRefinement.setFlag(REFINED_MODULE_F, true);
newRefinement.setFlag(NEEDSIMPL_F, false); // Refinement modules should not do implementer check
newRefinement.refinedClass = moduleToRefine;
newRefinement.definedAt = this;
refinements.put(moduleToRefine, newRefinement);
return newRefinement;
}
代码示例来源:origin: org.jruby/jruby-core
private RubyModule createNewRefinedModule(ThreadContext context, RubyModule moduleToRefine) {
Ruby runtime = context.runtime;
RubyModule newRefinement = new RubyModule(runtime);
RubyClass superClass = refinementSuperclass(runtime, this, moduleToRefine);
newRefinement.setSuperClass(superClass);
newRefinement.setFlag(REFINED_MODULE_F, true);
newRefinement.setFlag(NEEDSIMPL_F, false); // Refinement modules should not do implementer check
newRefinement.refinedClass = moduleToRefine;
newRefinement.definedAt = this;
refinements.put(moduleToRefine, newRefinement);
return newRefinement;
}
代码示例来源:origin: org.jruby/jruby-core
private static RubyModule getAlreadyRefinementWrapper(RubyModule cref, RubyModule klass, RubyModule module) {
RubyModule c, superclass = klass;
// Our storage cubby in cref for all known refinements
if (cref.refinements == Collections.EMPTY_MAP) {
cref.refinements = new HashMap<>();
} else {
if (cref.getFlag(OMOD_SHARED)) {
cref.refinements = new HashMap<>(cref.refinements);
cref.setFlag(OMOD_SHARED, false);
}
if ((c = cref.refinements.get(klass)) != null) {
superclass = c;
while (c != null && c instanceof IncludedModule) {
if (c.getMetaClass() == module) {
/* already used refinement */
return null;
}
c = c.getSuperClass();
}
}
}
return superclass;
}
代码示例来源:origin: org.jruby/jruby-complete
private static RubyModule getAlreadyRefinementWrapper(RubyModule cref, RubyModule klass, RubyModule module) {
RubyModule c, superclass = klass;
// Our storage cubby in cref for all known refinements
if (cref.refinements == Collections.EMPTY_MAP) {
cref.refinements = new HashMap<>();
} else {
if (cref.getFlag(OMOD_SHARED)) {
cref.refinements = new HashMap<>(cref.refinements);
cref.setFlag(OMOD_SHARED, false);
}
if ((c = cref.refinements.get(klass)) != null) {
superclass = c;
while (c != null && c instanceof IncludedModule) {
if (c.getMetaClass() == module) {
/* already used refinement */
return null;
}
c = c.getSuperClass();
}
}
}
return superclass;
}
代码示例来源:origin: org.jruby/jruby-core
private static void usingRefinement(Ruby runtime, RubyModule cref, RubyModule klass, RubyModule module) {
RubyModule superclass = getAlreadyRefinementWrapper(cref, klass, module);
if (superclass == null) return; // already been refined and added to refinementwrapper
module.setFlag(IS_OVERLAID_F, true);
superclass = refinementSuperclass(runtime, klass, module);
RubyModule c, iclass = new IncludedModuleWrapper(runtime, (RubyClass) superclass, module);
c = iclass;
c.refinedClass = klass;
// RCLASS_M_TBL(OBJ_WB_UNPROTECT(c)) =
// RCLASS_M_TBL(OBJ_WB_UNPROTECT(module)); /* TODO: check unprotecting */
for (module = module.getSuperClass(); module != null && module != klass; module = module.getSuperClass()) {
module.setFlag(IS_OVERLAID_F, true);
c.setSuperClass(new IncludedModuleWrapper(cref.getRuntime(), c.getSuperClass(), module));
c = c.getSuperClass();
c.refinedClass = klass;
}
cref.refinements.put(klass, iclass);
}
代码示例来源:origin: org.jruby/jruby-complete
private static void usingRefinement(Ruby runtime, RubyModule cref, RubyModule klass, RubyModule module) {
RubyModule superclass = getAlreadyRefinementWrapper(cref, klass, module);
if (superclass == null) return; // already been refined and added to refinementwrapper
module.setFlag(IS_OVERLAID_F, true);
superclass = refinementSuperclass(runtime, klass, module);
RubyModule c, iclass = new IncludedModuleWrapper(runtime, (RubyClass) superclass, module);
c = iclass;
c.refinedClass = klass;
// RCLASS_M_TBL(OBJ_WB_UNPROTECT(c)) =
// RCLASS_M_TBL(OBJ_WB_UNPROTECT(module)); /* TODO: check unprotecting */
for (module = module.getSuperClass(); module != null && module != klass; module = module.getSuperClass()) {
module.setFlag(IS_OVERLAID_F, true);
c.setSuperClass(new IncludedModuleWrapper(cref.getRuntime(), c.getSuperClass(), module));
c = c.getSuperClass();
c.refinedClass = klass;
}
cref.refinements.put(klass, iclass);
}
代码示例来源:origin: org.jruby/jruby-complete
private void addActivatedRefinement(ThreadContext context, RubyModule moduleToRefine, RubyModule refinement) {
// RubyClass superClass = getAlreadyActivatedRefinementWrapper(classWeAreRefining, refinement);
// if (superClass == null) return; // already been refined and added to refinementwrapper
RubyClass superClass = null;
RubyClass c = activatedRefinements.get(moduleToRefine);
if (c != null) {
superClass = c;
while (c != null && c.isIncluded()) {
if (((IncludedModuleWrapper)c).getNonIncludedClass() == refinement) {
/* already used refinement */
return;
}
c = c.getSuperClass();
}
}
refinement.setFlag(IS_OVERLAID_F, true);
IncludedModuleWrapper iclass = new IncludedModuleWrapper(context.runtime, superClass, refinement);
c = iclass;
c.refinedClass = moduleToRefine;
for (refinement = refinement.getSuperClass(); refinement != null; refinement = refinement.getSuperClass()) {
refinement.setFlag(IS_OVERLAID_F, true);
c.setSuperClass(new IncludedModuleWrapper(context.runtime, c.getSuperClass(), refinement));
c = c.getSuperClass();
c.refinedClass = moduleToRefine;
}
activatedRefinements.put(moduleToRefine, iclass);
}
代码示例来源:origin: org.jruby/jruby-core
private void addActivatedRefinement(ThreadContext context, RubyModule moduleToRefine, RubyModule refinement) {
// RubyClass superClass = getAlreadyActivatedRefinementWrapper(classWeAreRefining, refinement);
// if (superClass == null) return; // already been refined and added to refinementwrapper
RubyClass superClass = null;
RubyClass c = activatedRefinements.get(moduleToRefine);
if (c != null) {
superClass = c;
while (c != null && c.isIncluded()) {
if (((IncludedModuleWrapper)c).getNonIncludedClass() == refinement) {
/* already used refinement */
return;
}
c = c.getSuperClass();
}
}
refinement.setFlag(IS_OVERLAID_F, true);
IncludedModuleWrapper iclass = new IncludedModuleWrapper(context.runtime, superClass, refinement);
c = iclass;
c.refinedClass = moduleToRefine;
for (refinement = refinement.getSuperClass(); refinement != null; refinement = refinement.getSuperClass()) {
refinement.setFlag(IS_OVERLAID_F, true);
c.setSuperClass(new IncludedModuleWrapper(context.runtime, c.getSuperClass(), refinement));
c = c.getSuperClass();
c.refinedClass = moduleToRefine;
}
activatedRefinements.put(moduleToRefine, iclass);
}
代码示例来源:origin: org.jruby/jruby-complete
/** separate path for MetaClass construction
*
*/
protected RubyModule(Ruby runtime, RubyClass metaClass, boolean objectSpace) {
super(runtime, metaClass, objectSpace);
id = runtime.allocModuleId();
runtime.addModule(this);
// if (parent == null) parent = runtime.getObject();
setFlag(NEEDSIMPL_F, !isClass());
updateGeneration(runtime);
if (runtime.getInstanceConfig().isProfiling()) {
cacheEntryFactory = new ProfilingCacheEntryFactory(runtime, NormalCacheEntryFactory);
} else {
cacheEntryFactory = NormalCacheEntryFactory;
}
// set up an invalidator for use in new optimization strategies
methodInvalidator = OptoFactory.newMethodInvalidator(this);
}
代码示例来源:origin: org.jruby/jruby-core
/** separate path for MetaClass construction
*
*/
protected RubyModule(Ruby runtime, RubyClass metaClass, boolean objectSpace) {
super(runtime, metaClass, objectSpace);
id = runtime.allocModuleId();
runtime.addModule(this);
// if (parent == null) parent = runtime.getObject();
setFlag(NEEDSIMPL_F, !isClass());
updateGeneration(runtime);
if (runtime.getInstanceConfig().isProfiling()) {
cacheEntryFactory = new ProfilingCacheEntryFactory(runtime, NormalCacheEntryFactory);
} else {
cacheEntryFactory = NormalCacheEntryFactory;
}
// set up an invalidator for use in new optimization strategies
methodInvalidator = OptoFactory.newMethodInvalidator(this);
}
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
/** separate path for MetaClass construction
*
*/
protected RubyModule(Ruby runtime, RubyClass metaClass, boolean objectSpace) {
super(runtime, metaClass, objectSpace);
id = runtime.allocModuleId();
runtime.addModule(this);
// if (parent == null) parent = runtime.getObject();
setFlag(USER7_F, !isClass());
generationObject = generation = runtime.getNextModuleGeneration();
if (runtime.getInstanceConfig().isProfiling()) {
cacheEntryFactory = new ProfilingCacheEntryFactory(NormalCacheEntryFactory);
} else {
cacheEntryFactory = NormalCacheEntryFactory;
}
// set up an invalidator for use in new optimization strategies
methodInvalidator = OptoFactory.newMethodInvalidator(this);
}
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
/** separate path for MetaClass construction
*
*/
protected RubyModule(Ruby runtime, RubyClass metaClass, boolean objectSpace) {
super(runtime, metaClass, objectSpace);
id = runtime.allocModuleId();
runtime.addModule(this);
// if (parent == null) parent = runtime.getObject();
setFlag(USER7_F, !isClass());
generationObject = generation = runtime.getNextModuleGeneration();
if (runtime.getInstanceConfig().isProfiling()) {
cacheEntryFactory = new ProfilingCacheEntryFactory(NormalCacheEntryFactory);
} else {
cacheEntryFactory = NormalCacheEntryFactory;
}
// set up an invalidator for use in new optimization strategies
methodInvalidator = OptoFactory.newMethodInvalidator(this);
}
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
module.setFlag(RubyObject.USER7_F, false); //Kernel is the only Module that doesn't need an implementor
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
module.setFlag(RubyObject.USER7_F, false); //Kernel is the only Module that doesn't need an implementor
代码示例来源:origin: org.jruby/jruby-complete
public static RubyModule createKernelModule(Ruby runtime) {
RubyModule module = runtime.defineModule("Kernel");
runtime.setKernel(module);
module.defineAnnotatedMethods(RubyKernel.class);
module.setFlag(RubyModule.NEEDSIMPL_F, false); //Kernel is the only normal Module that doesn't need an implementor
runtime.setPrivateMethodMissing(new MethodMissingMethod(module, PRIVATE, CallType.NORMAL));
runtime.setProtectedMethodMissing(new MethodMissingMethod(module, PROTECTED, CallType.NORMAL));
runtime.setVariableMethodMissing(new MethodMissingMethod(module, PUBLIC, CallType.VARIABLE));
runtime.setSuperMethodMissing(new MethodMissingMethod(module, PUBLIC, CallType.SUPER));
runtime.setNormalMethodMissing(new MethodMissingMethod(module, PUBLIC, CallType.NORMAL));
if (runtime.getInstanceConfig().isAssumeLoop()) {
module.defineAnnotatedMethods(LoopMethods.class);
}
recacheBuiltinMethods(runtime);
return module;
}
代码示例来源:origin: org.jruby/jruby-core
public static RubyModule createKernelModule(Ruby runtime) {
RubyModule module = runtime.defineModule("Kernel");
runtime.setKernel(module);
module.defineAnnotatedMethods(RubyKernel.class);
module.setFlag(RubyModule.NEEDSIMPL_F, false); //Kernel is the only normal Module that doesn't need an implementor
runtime.setPrivateMethodMissing(new MethodMissingMethod(module, PRIVATE, CallType.NORMAL));
runtime.setProtectedMethodMissing(new MethodMissingMethod(module, PROTECTED, CallType.NORMAL));
runtime.setVariableMethodMissing(new MethodMissingMethod(module, PUBLIC, CallType.VARIABLE));
runtime.setSuperMethodMissing(new MethodMissingMethod(module, PUBLIC, CallType.SUPER));
runtime.setNormalMethodMissing(new MethodMissingMethod(module, PUBLIC, CallType.NORMAL));
if (runtime.getInstanceConfig().isAssumeLoop()) {
module.defineAnnotatedMethods(LoopMethods.class);
}
recacheBuiltinMethods(runtime);
return module;
}
内容来源于网络,如有侵权,请联系作者删除!