org.jruby.Ruby.setLocation()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(3.2k)|赞(0)|评价(0)|浏览(87)

本文整理了Java中org.jruby.Ruby.setLocation方法的一些代码示例,展示了Ruby.setLocation的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Ruby.setLocation方法的具体详情如下:
包路径:org.jruby.Ruby
类名称:Ruby
方法名:setLocation

Ruby.setLocation介绍

暂无

代码示例

代码示例来源:origin: org.jruby/jruby-complete

public static RubyClass createThreadClass(Ruby runtime) {
  // FIXME: In order for Thread to play well with the standard 'new' behavior,
  // it must provide an allocator that can create empty object instances which
  // initialize then fills with appropriate data.
  RubyClass threadClass = runtime.defineClass("Thread", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  runtime.setThread(threadClass);
  threadClass.setClassIndex(ClassIndex.THREAD);
  threadClass.setReifiedClass(RubyThread.class);
  threadClass.defineAnnotatedMethods(RubyThread.class);
  RubyThread rubyThread = new RubyThread(runtime, threadClass);
  // TODO: need to isolate the "current" thread from class creation
  rubyThread.threadImpl = new NativeThread(rubyThread, Thread.currentThread());
  runtime.getThreadService().setMainThread(Thread.currentThread(), rubyThread);
  // set to default thread group
  runtime.getDefaultThreadGroup().addDirectly(rubyThread);
  threadClass.setMarshal(ObjectMarshal.NOT_MARSHALABLE_MARSHAL);
  // set up Thread::Backtrace::Location class
  RubyClass backtrace = threadClass.defineClassUnder("Backtrace", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  RubyClass location = backtrace.defineClassUnder("Location", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  location.defineAnnotatedMethods(Location.class);
  runtime.setLocation(location);
  return threadClass;
}

代码示例来源:origin: org.jruby/jruby-core

public static RubyClass createThreadClass(Ruby runtime) {
  // FIXME: In order for Thread to play well with the standard 'new' behavior,
  // it must provide an allocator that can create empty object instances which
  // initialize then fills with appropriate data.
  RubyClass threadClass = runtime.defineClass("Thread", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  runtime.setThread(threadClass);
  threadClass.setClassIndex(ClassIndex.THREAD);
  threadClass.setReifiedClass(RubyThread.class);
  threadClass.defineAnnotatedMethods(RubyThread.class);
  RubyThread rubyThread = new RubyThread(runtime, threadClass);
  // TODO: need to isolate the "current" thread from class creation
  rubyThread.threadImpl = new NativeThread(rubyThread, Thread.currentThread());
  runtime.getThreadService().setMainThread(Thread.currentThread(), rubyThread);
  // set to default thread group
  runtime.getDefaultThreadGroup().addDirectly(rubyThread);
  threadClass.setMarshal(ObjectMarshal.NOT_MARSHALABLE_MARSHAL);
  // set up Thread::Backtrace::Location class
  RubyClass backtrace = threadClass.defineClassUnder("Backtrace", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  RubyClass location = backtrace.defineClassUnder("Location", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
  location.defineAnnotatedMethods(Location.class);
  runtime.setLocation(location);
  return threadClass;
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

runtime.setLocation(location);

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

runtime.setLocation(location);

相关文章

微信公众号

最新文章

更多

Ruby类方法