org.jruby.RubyClass.getClassRuntime()方法的使用及代码示例

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

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

RubyClass.getClassRuntime介绍

暂无

代码示例

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

/**
 * Will return the runtime that this object is associated with.
 *
 * @return current runtime
 */
@Override
public final Ruby getRuntime() {
  return getMetaClass().getClassRuntime();
}

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

/** rb_ary_dup
 * 
 */
public final RubyArray aryDup() {
  RubyArray dup = new RubyArray(metaClass.getClassRuntime(), metaClass, values, begin, realLength);
  dup.isShared = true;
  isShared = true;
  dup.flags |= flags & (TAINTED_F | UNTRUSTED_F); // from DUP_SETUP
  // rb_copy_generic_ivar from DUP_SETUP here ...unlikely..
  return dup;
}

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

/**
 * Will return the runtime that this object is associated with.
 *
 * @return current runtime
 */
@Override
public final Ruby getRuntime() {
  return getMetaClass().getClassRuntime();
}

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

public final RubyArray aryDup19() {
  // In 1.9, rb_ary_dup logic changed so that on subclasses of Array,
  // dup returns an instance of Array, rather than an instance of the subclass
  // Also, taintedness and trustedness are not inherited to duplicates
  RubyArray dup = new RubyArray(metaClass.getClassRuntime(), values, begin, realLength);
  dup.isShared = true;
  isShared = true;
  // rb_copy_generic_ivar from DUP_SETUP here ...unlikely..
  return dup;
}

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

/**
 * Converts this object to type 'targetType' using 'convertMethod' method (MRI: convert_type).
 *
 * @param obj the object to convert
 * @param target is the type we are trying to convert to
 * @param convertMethod is the method to be called to try and convert to target type
 * @param raise will throw an Error if conversion does not work
 * @return the converted value
 */
public static IRubyObject convertToType(IRubyObject obj, RubyClass target, String convertMethod, boolean raise) {
  return convertToType(target.getClassRuntime().getCurrentContext(), obj, target, convertMethod, raise);
}

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

/**
 * Overridden dup for fast-path logic.
 *
 * @return A new RubyArray sharing the original backing store.
 */
public IRubyObject dup() {
  if (metaClass.getClassIndex() != ClassIndex.ARRAY) return super.dup();
  RubyArray dup = new RubyArray(metaClass.getClassRuntime(), values, begin, realLength);
  dup.isShared = isShared = true;
  dup.flags |= flags & TAINTED_F; // from DUP_SETUP
  return dup;
}

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

public static DynamicMethod selectMethodMissing(RubyClass selfClass, Visibility visibility, String name, CallType callType) {
  Ruby runtime = selfClass.getClassRuntime();
  if (name.equals("method_missing")) {
    return selectInternalMM(runtime, visibility, callType);
  }
  DynamicMethod methodMissing = selfClass.searchMethod("method_missing");
  if (methodMissing.isUndefined() || methodMissing.equals(runtime.getDefaultMethodMissing())) {
    return selectInternalMM(runtime, visibility, callType);
  }
  return new MethodMissingMethod(methodMissing, visibility, callType);
}

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

public static DynamicMethod selectMethodMissing(RubyClass selfClass, Visibility visibility, String name, CallType callType) {
  Ruby runtime = selfClass.getClassRuntime();
  if (name.equals("method_missing")) {
    return selectInternalMM(runtime, visibility, callType);
  }
  DynamicMethod methodMissing = selfClass.searchMethod("method_missing");
  if (methodMissing.isUndefined() || methodMissing.equals(runtime.getDefaultMethodMissing())) {
    return selectInternalMM(runtime, visibility, callType);
  }
  return new MethodMissingMethod(methodMissing, visibility, callType);
}

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

/**
 * Overridden dup for fast-path logic.
 *
 * @return A new RubyString sharing the original backing store.
 */
@Override
public IRubyObject dup() {
  RubyClass mc = metaClass.getRealClass();
  if (mc.index != ClassIndex.STRING) return super.dup();
  return strDup(mc.getClassRuntime(), mc.getRealClass());
}

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

/**
 * Overridden dup for fast-path logic.
 *
 * @return A new RubyString sharing the original backing store.
 */
@Override
public IRubyObject dup() {
  RubyClass mc = metaClass.getRealClass();
  if (mc.index != ClassIndex.STRING) return super.dup();
  return strDup(mc.getClassRuntime(), mc.getRealClass());
}

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

static RubyArray members(RubyClass type) {
  final RubyArray member = __member__(type);
  final int len = member.getLength();
  IRubyObject[] result = new IRubyObject[len];
  for ( int i = 0; i < len; i++ ) {
    result[i] = member.eltInternal(i);
  }
  return RubyArray.newArrayNoCopy(type.getClassRuntime(), result);
}

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

public final RubyString makeIndependent(final int length) {
  RubyClass klass = metaClass;
  RubyString str = strDup(klass.getClassRuntime(), klass);
  str.modify(length);
  str.setFrozen(true);
  str.infectBy(this);
  return str;
}

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

public final RubyString makeIndependent() {
  RubyClass klass = metaClass;
  RubyString str = strDup(klass.getClassRuntime(), klass);
  str.modify();
  str.setFrozen(true);
  str.infectBy(this);
  return str;
}

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

/** short circuit for String key comparison
 *
 */
@Override
public final boolean eql(IRubyObject other) {
  RubyClass metaclass = getMetaClass();
  Ruby runtime = metaclass.getClassRuntime();
  if (metaclass != runtime.getString() || metaclass != other.getMetaClass()) return super.eql(other);
  return eql19(other);
}

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

/**
 * Overridden dup for fast-path logic.
 *
 * @return A new RubyString sharing the original backing store.
 */
@Override
public IRubyObject dup() {
  RubyClass mc = metaClass.getRealClass();
  if (mc.getClassIndex() != ClassIndex.STRING) return super.dup();
  return strDup(mc.getClassRuntime(), mc.getRealClass());
}

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

/** short circuit for String key comparison
 *
 */
@Override
public final boolean eql(IRubyObject other) {
  RubyClass metaclass = getMetaClass();
  Ruby runtime = metaclass.getClassRuntime();
  if (metaclass != runtime.getString() || metaclass != other.getMetaClass()) return super.eql(other);
  return eql19(other);
}

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

public RubyString newFrozen() {
  if (isFrozen()) return this;
  RubyClass klass = getMetaClass();
  RubyString str = strDup(klass.getClassRuntime());
  str.setCodeRange(getCodeRange());
  str.setFrozen(true);
  return str;
}

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

@Override
public IRubyObject subseq(RubyClass metaClass, long beg, long len, boolean light) {
  if (!packed()) return super.subseq(metaClass, beg, len, light);
  if (len == 0) return newEmptyArray(metaClass.getClassRuntime());
  if (beg != 0 || len != 1) {
    unpack();
    return super.subseq(metaClass, beg, len, light);
  }
  return new RubyArrayOneObject(metaClass, this);
}

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

/** short circuit for String key comparison
 * 
 */
@Override
public final boolean eql(IRubyObject other) {
  RubyClass metaclass = getMetaClass();
  Ruby runtime = metaclass.getClassRuntime();
  if (metaclass != runtime.getString() || metaclass != other.getMetaClass()) return super.eql(other);
  return runtime.is1_9() ? eql19(runtime, other) : eql18(runtime, other);
}

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

/** short circuit for String key comparison
 * 
 */
@Override
public final boolean eql(IRubyObject other) {
  RubyClass metaclass = getMetaClass();
  Ruby runtime = metaclass.getClassRuntime();
  if (metaclass != runtime.getString() || metaclass != other.getMetaClass()) return super.eql(other);
  return runtime.is1_9() ? eql19(runtime, other) : eql18(runtime, other);
}

相关文章

微信公众号

最新文章

更多

RubyClass类方法