本文整理了Java中org.jruby.RubyClass.discoverInstanceVariables
方法的一些代码示例,展示了RubyClass.discoverInstanceVariables
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RubyClass.discoverInstanceVariables
方法的具体详情如下:
包路径:org.jruby.RubyClass
类名称:RubyClass
方法名:discoverInstanceVariables
暂无
代码示例来源:origin: org.jruby/jruby-complete
@Override
public IRubyObject allocate(Ruby runtime, RubyClass klass) {
Set<String> foundVariables = klass.discoverInstanceVariables();
if (Options.DUMP_INSTANCE_VARS.load()) {
System.err.println(klass + ";" + foundVariables);
}
ObjectAllocator allocator = RubyObjectSpecializer.specializeForVariables(klass, foundVariables);
// invalidate metaclass so new allocator is picked up for specialized .new
klass.getMetaClass().invalidateCacheDescendants();
return allocator.allocate(runtime, klass);
}
};
代码示例来源:origin: org.jruby/jruby-core
@Override
public IRubyObject allocate(Ruby runtime, RubyClass klass) {
Set<String> foundVariables = klass.discoverInstanceVariables();
if (Options.DUMP_INSTANCE_VARS.load()) {
System.err.println(klass + ";" + foundVariables);
}
ObjectAllocator allocator = RubyObjectSpecializer.specializeForVariables(klass, foundVariables);
// invalidate metaclass so new allocator is picked up for specialized .new
klass.getMetaClass().invalidateCacheDescendants();
return allocator.allocate(runtime, klass);
}
};
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
public IRubyObject allocate(Ruby runtime, RubyClass klass) {
Set<String> foundVariables = klass.discoverInstanceVariables();
if (Options.DUMP_INSTANCE_VARS.load()) {
System.err.println(klass + ";" + foundVariables);
}
int count = 0;
for (String name : foundVariables) {
klass.getVariableTableManager().getVariableAccessorForVar(name, count);
count++;
if (count >= 10) break;
}
ObjectAllocator allocator = FIELD_ALLOCATORS[count];
Class reified = FIELD_ALLOCATED_CLASSES[count];
klass.setAllocator(allocator);
klass.setReifiedClass(reified);
return allocator.allocate(runtime, klass);
}
};
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
public IRubyObject allocate(Ruby runtime, RubyClass klass) {
Set<String> foundVariables = klass.discoverInstanceVariables();
if (Options.DUMP_INSTANCE_VARS.load()) {
System.err.println(klass + ";" + foundVariables);
}
int count = 0;
for (String name : foundVariables) {
klass.getVariableTableManager().getVariableAccessorForVar(name, count);
count++;
if (count >= 10) break;
}
ObjectAllocator allocator = FIELD_ALLOCATORS[count];
Class reified = FIELD_ALLOCATED_CLASSES[count];
klass.setAllocator(allocator);
klass.setReifiedClass(reified);
return allocator.allocate(runtime, klass);
}
};
内容来源于网络,如有侵权,请联系作者删除!