本文整理了Java中org.jruby.RubyClass.undefineMethod
方法的一些代码示例,展示了RubyClass.undefineMethod
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RubyClass.undefineMethod
方法的具体详情如下:
包路径:org.jruby.RubyClass
类名称:RubyClass
方法名:undefineMethod
暂无
代码示例来源:origin: org.jruby/jruby-complete
public static void createClassClass(Ruby runtime, RubyClass classClass) {
classClass.setClassIndex(ClassIndex.CLASS);
classClass.setReifiedClass(RubyClass.class);
classClass.kindOf = new RubyModule.JavaClassKindOf(RubyClass.class);
classClass.undefineMethod("module_function");
classClass.undefineMethod("append_features");
classClass.undefineMethod("prepend_features");
classClass.undefineMethod("extend_object");
classClass.defineAnnotatedMethods(RubyClass.class);
runtime.setBaseNewMethod(classClass.searchMethod("new"));
}
代码示例来源:origin: org.jruby/jruby-complete
public static RubyClass createJavaObjectClass(Ruby runtime, RubyModule javaModule) {
// FIXME: Ideally JavaObject instances should be marshallable, which means that
// the JavaObject metaclass should have an appropriate allocator. JRUBY-414
RubyClass JavaObject = javaModule.defineClassUnder("JavaObject", runtime.getObject(), JAVA_OBJECT_ALLOCATOR);
registerRubyMethods(runtime, JavaObject);
JavaObject.getMetaClass().undefineMethod("new");
JavaObject.getMetaClass().undefineMethod("allocate");
return JavaObject;
}
代码示例来源:origin: org.jruby/jruby-complete
static void createBasicSocket(Ruby runtime) {
RubyClass rb_cBasicSocket = runtime.defineClass("BasicSocket", runtime.getIO(), BASICSOCKET_ALLOCATOR);
rb_cBasicSocket.defineAnnotatedMethods(RubyBasicSocket.class);
rb_cBasicSocket.undefineMethod("initialize");
}
代码示例来源:origin: org.jruby/jruby-core
static void createBasicSocket(Ruby runtime) {
RubyClass rb_cBasicSocket = runtime.defineClass("BasicSocket", runtime.getIO(), BASICSOCKET_ALLOCATOR);
rb_cBasicSocket.defineAnnotatedMethods(RubyBasicSocket.class);
rb_cBasicSocket.undefineMethod("initialize");
}
代码示例来源:origin: org.jruby/jruby-complete
static RubyClass createJavaClassClass(final Ruby runtime, final RubyModule Java, final RubyClass JavaObject) {
// TODO: Determine if a real allocator is needed here. Do people want to extend
// JavaClass? Do we want them to do that? Can you Class.new(JavaClass)? Should you be able to?
// NOTE: NOT_ALLOCATABLE_ALLOCATOR is probably OK here, since we don't intend for people to monkey with
// this type and it can't be marshalled. Confirm. JRUBY-415
RubyClass JavaClass = Java.defineClassUnder("JavaClass", JavaObject, ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
JavaClass.includeModule(runtime.getModule("Comparable"));
JavaClass.defineAnnotatedMethods(JavaClass.class);
JavaClass.getMetaClass().undefineMethod("new");
JavaClass.getMetaClass().undefineMethod("allocate");
return JavaClass;
}
代码示例来源:origin: org.jruby/jruby-complete
public static RubyClass createRationalClass(Ruby runtime) {
RubyClass rationalc = runtime.defineClass("Rational", runtime.getNumeric(), RATIONAL_ALLOCATOR);
runtime.setRational(rationalc);
rationalc.setClassIndex(ClassIndex.RATIONAL);
rationalc.setReifiedClass(RubyRational.class);
rationalc.kindOf = new RubyModule.JavaClassKindOf(RubyRational.class);
rationalc.setMarshal(RATIONAL_MARSHAL);
rationalc.defineAnnotatedMethods(RubyRational.class);
rationalc.getSingletonClass().undefineMethod("allocate");
rationalc.getSingletonClass().undefineMethod("new");
return rationalc;
}
代码示例来源:origin: org.jruby/jruby-complete
static void createIPSocket(Ruby runtime) {
RubyClass rb_cIPSocket = runtime.defineClass("IPSocket", runtime.getClass("BasicSocket"), IPSOCKET_ALLOCATOR);
rb_cIPSocket.defineAnnotatedMethods(RubyIPSocket.class);
rb_cIPSocket.undefineMethod("initialize");
runtime.getObject().setConstant("IPsocket",rb_cIPSocket);
}
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
public static RubyClass createBindingClass(Ruby runtime) {
RubyClass bindingClass = runtime.defineClass("Binding", runtime.getObject(), BINDING_ALLOCATOR);
runtime.setBinding(bindingClass);
bindingClass.index = ClassIndex.BINDING;
bindingClass.setReifiedClass(RubyBinding.class);
bindingClass.defineAnnotatedMethods(RubyBinding.class);
bindingClass.getSingletonClass().undefineMethod("new");
return bindingClass;
}
代码示例来源:origin: org.jruby/jruby-core
public static RubyClass createBindingClass(Ruby runtime) {
RubyClass bindingClass = runtime.defineClass("Binding", runtime.getObject(), BINDING_ALLOCATOR);
runtime.setBinding(bindingClass);
bindingClass.setClassIndex(ClassIndex.BINDING);
bindingClass.setReifiedClass(RubyBinding.class);
bindingClass.defineAnnotatedMethods(RubyBinding.class);
bindingClass.getSingletonClass().undefineMethod("new");
return bindingClass;
}
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
public static RubyClass createEncodingClass(Ruby runtime) {
RubyClass encodingc = runtime.defineClass("Encoding", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
runtime.setEncoding(encodingc);
encodingc.index = ClassIndex.ENCODING;
encodingc.setReifiedClass(RubyEncoding.class);
encodingc.kindOf = new RubyModule.JavaClassKindOf(RubyEncoding.class);
encodingc.getSingletonClass().undefineMethod("allocate");
encodingc.defineAnnotatedMethods(RubyEncoding.class);
return encodingc;
}
代码示例来源:origin: org.jruby/jruby-core
public static RubyClass createNilClass(Ruby runtime) {
RubyClass nilClass = runtime.defineClass("NilClass", runtime.getObject(), NIL_ALLOCATOR);
runtime.setNilClass(nilClass);
nilClass.setClassIndex(ClassIndex.NIL);
nilClass.setReifiedClass(RubyNil.class);
nilClass.defineAnnotatedMethods(RubyNil.class);
nilClass.getMetaClass().undefineMethod("new");
// FIXME: This is causing a verification error for some reason
//nilClass.dispatcher = callbackFactory.createDispatcher(nilClass);
return nilClass;
}
代码示例来源:origin: org.jruby/jruby-complete
public static RubyClass createEncodingClass(Ruby runtime) {
RubyClass encodingc = runtime.defineClass("Encoding", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
runtime.setEncoding(encodingc);
encodingc.setClassIndex(ClassIndex.ENCODING);
encodingc.setReifiedClass(RubyEncoding.class);
encodingc.kindOf = new RubyModule.JavaClassKindOf(RubyEncoding.class);
encodingc.getSingletonClass().undefineMethod("allocate");
encodingc.defineAnnotatedMethods(RubyEncoding.class);
return encodingc;
}
代码示例来源:origin: org.jruby/jruby-complete
public static RubyClass createFalseClass(Ruby runtime) {
RubyClass falseClass = runtime.defineClass("FalseClass", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
runtime.setFalseClass(falseClass);
falseClass.setClassIndex(ClassIndex.FALSE);
falseClass.setReifiedClass(RubyBoolean.class);
falseClass.defineAnnotatedMethods(False.class);
falseClass.defineAnnotatedMethods(RubyBoolean.class);
falseClass.getMetaClass().undefineMethod("new");
return falseClass;
}
代码示例来源:origin: org.jruby/jruby-core
public static void setup(Ruby runtime) {
RubyClass cConditionVariable = runtime.getThread().defineClassUnder("ConditionVariable", runtime.getObject(), new ObjectAllocator() {
public IRubyObject allocate(Ruby runtime, RubyClass klass) {
return new ConditionVariable(runtime, klass);
}
});
cConditionVariable.undefineMethod("initialize_copy");
cConditionVariable.setReifiedClass(ConditionVariable.class);
cConditionVariable.defineAnnotatedMethods(ConditionVariable.class);
runtime.getObject().setConstant("ConditionVariable", cConditionVariable);
}
代码示例来源:origin: org.jruby/jruby-core
public static RubyClass defineUnboundMethodClass(Ruby runtime) {
RubyClass newClass =
runtime.defineClass("UnboundMethod", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
runtime.setUnboundMethod(newClass);
newClass.setClassIndex(ClassIndex.UNBOUNDMETHOD);
newClass.setReifiedClass(RubyUnboundMethod.class);
newClass.defineAnnotatedMethods(AbstractRubyMethod.class);
newClass.defineAnnotatedMethods(RubyUnboundMethod.class);
newClass.getSingletonClass().undefineMethod("new");
return newClass;
}
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
public static void createContinuation(Ruby runtime) {
RubyClass cContinuation = runtime.defineClass("Continuation",runtime.getObject(),runtime.getObject().getAllocator());
cContinuation.index = ClassIndex.CONTINUATION;
cContinuation.setReifiedClass(RubyContinuation.class);
cContinuation.defineAnnotatedMethods(RubyContinuation.class);
cContinuation.getSingletonClass().undefineMethod("new");
runtime.setContinuation(cContinuation);
}
代码示例来源:origin: org.jruby/jruby-core
public static RubyClass createEncodingClass(Ruby runtime) {
RubyClass encodingc = runtime.defineClass("Encoding", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
runtime.setEncoding(encodingc);
encodingc.setClassIndex(ClassIndex.ENCODING);
encodingc.setReifiedClass(RubyEncoding.class);
encodingc.kindOf = new RubyModule.JavaClassKindOf(RubyEncoding.class);
encodingc.getSingletonClass().undefineMethod("allocate");
encodingc.defineAnnotatedMethods(RubyEncoding.class);
return encodingc;
}
代码示例来源:origin: org.jruby/jruby-complete
public static RubyClass createMatchDataClass(Ruby runtime) {
RubyClass matchDataClass = runtime.defineClass("MatchData", runtime.getObject(), MATCH_DATA_ALLOCATOR);
runtime.setMatchData(matchDataClass);
matchDataClass.setClassIndex(ClassIndex.MATCHDATA);
matchDataClass.setReifiedClass(RubyMatchData.class);
runtime.defineGlobalConstant("MatchingData", matchDataClass);
matchDataClass.kindOf = new RubyModule.JavaClassKindOf(RubyMatchData.class);
matchDataClass.getMetaClass().undefineMethod("new");
matchDataClass.defineAnnotatedMethods(RubyMatchData.class);
return matchDataClass;
}
代码示例来源:origin: org.jruby/jruby-complete
public static void createContinuation(Ruby runtime) {
RubyClass cContinuation = runtime.defineClass("Continuation",runtime.getObject(),runtime.getObject().getAllocator());
cContinuation.setClassIndex(ClassIndex.CONTINUATION);
cContinuation.setReifiedClass(RubyContinuation.class);
cContinuation.defineAnnotatedMethods(RubyContinuation.class);
cContinuation.getSingletonClass().undefineMethod("new");
runtime.setContinuation(cContinuation);
}
代码示例来源:origin: org.jruby/jruby-complete
public static RubyClass createSymbolClass(Ruby runtime) {
RubyClass symbolClass = runtime.defineClass("Symbol", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR);
runtime.setSymbol(symbolClass);
RubyClass symbolMetaClass = symbolClass.getMetaClass();
symbolClass.setClassIndex(ClassIndex.SYMBOL);
symbolClass.setReifiedClass(RubySymbol.class);
symbolClass.kindOf = new RubyModule.JavaClassKindOf(RubySymbol.class);
symbolClass.defineAnnotatedMethods(RubySymbol.class);
symbolMetaClass.undefineMethod("new");
symbolClass.includeModule(runtime.getComparable());
return symbolClass;
}
内容来源于网络,如有侵权,请联系作者删除!