本文整理了Java中org.jruby.RubyClass.op_ge
方法的一些代码示例,展示了RubyClass.op_ge
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RubyClass.op_ge
方法的具体详情如下:
包路径:org.jruby.RubyClass
类名称:RubyClass
方法名:op_ge
暂无
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
private boolean exceptionHandled(ThreadContext context, IRubyObject excType, Object excObj) {
Ruby runtime = context.runtime;
if (excObj instanceof IRubyObject) {
// regular ruby exception
if (!(excType instanceof RubyModule)) throw runtime.newTypeError("class or module required for rescue clause. Found: " + excType);
return excType.callMethod(context, "===", (IRubyObject)excObj).isTrue();
} else if (runtime.getException().op_ge(excType).isTrue() || runtime.getObject() == excType) {
// convert java obj to a ruby object and try again
return excType.callMethod(context, "===", JavaUtil.convertJavaToUsableRubyObject(runtime, excObj)).isTrue();
} else if (excType instanceof RubyClass && excType.getInstanceVariables().hasInstanceVariable("@java_class")) {
// java exception where the rescue clause has an embedded java class that could catch it
RubyClass rubyClass = (RubyClass)excType;
JavaClass javaClass = (JavaClass)rubyClass.getInstanceVariable("@java_class");
if (javaClass != null) {
Class cls = javaClass.javaClass();
if (cls.isInstance(excObj)) return true;
}
}
return false;
}
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
private boolean exceptionHandled(ThreadContext context, IRubyObject excType, Object excObj) {
Ruby runtime = context.runtime;
if (excObj instanceof IRubyObject) {
// regular ruby exception
if (!(excType instanceof RubyModule)) throw runtime.newTypeError("class or module required for rescue clause. Found: " + excType);
return excType.callMethod(context, "===", (IRubyObject)excObj).isTrue();
} else if (runtime.getException().op_ge(excType).isTrue() || runtime.getObject() == excType) {
// convert java obj to a ruby object and try again
return excType.callMethod(context, "===", JavaUtil.convertJavaToUsableRubyObject(runtime, excObj)).isTrue();
} else if (excType instanceof RubyClass && excType.getInstanceVariables().hasInstanceVariable("@java_class")) {
// java exception where the rescue clause has an embedded java class that could catch it
RubyClass rubyClass = (RubyClass)excType;
JavaClass javaClass = (JavaClass)rubyClass.getInstanceVariable("@java_class");
if (javaClass != null) {
Class cls = javaClass.javaClass();
if (cls.isInstance(excObj)) return true;
}
}
return false;
}
内容来源于网络,如有侵权,请联系作者删除!