/** * Will create the Ruby class Object in the runtime * specified. This method needs to take the actual class as an * argument because of the Object class' central part in runtime * initialization. */ public static RubyClass createObjectClass(Ruby runtime, RubyClass objectClass) { objectClass.setClassIndex(ClassIndex.OBJECT); objectClass.setReifiedClass(RubyObject.class); return objectClass; }
static RubyClass createDateTimeClass(Ruby runtime, RubyClass Date) { RubyClass DateTime = runtime.defineClass("DateTime", Date, ALLOCATOR); DateTime.setReifiedClass(RubyDateTime.class); DateTime.defineAnnotatedMethods(RubyDateTime.class); return DateTime; }
public static RubyClass createModuleClass(Ruby runtime, RubyClass moduleClass) { moduleClass.setClassIndex(ClassIndex.MODULE); moduleClass.setReifiedClass(RubyModule.class); moduleClass.kindOf = new RubyModule.JavaClassKindOf(RubyModule.class); moduleClass.defineAnnotatedMethods(RubyModule.class); moduleClass.defineAnnotatedMethods(ModuleKernelMethods.class); return moduleClass; }
public static RubyClass createProcClass(Ruby runtime) { RubyClass procClass = runtime.defineClass("Proc", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR); runtime.setProc(procClass); procClass.setClassIndex(ClassIndex.PROC); procClass.setReifiedClass(RubyProc.class); procClass.defineAnnotatedMethods(RubyProc.class); return procClass; }
public static RubyClass createConverterClass(Ruby runtime) { RubyClass converterc = runtime.defineClassUnder("Converter", runtime.getData(), CONVERTER_ALLOCATOR, runtime.getEncoding()); runtime.setConverter(converterc); converterc.setClassIndex(ClassIndex.CONVERTER); converterc.setReifiedClass(RubyConverter.class); converterc.kindOf = new RubyModule.JavaClassKindOf(RubyConverter.class); converterc.defineAnnotatedMethods(RubyConverter.class); converterc.defineAnnotatedConstants(RubyConverter.class); return converterc; }
/** Create the RubyMethod class and add it to the Ruby runtime. * */ public static RubyClass createMethodClass(Ruby runtime) { // TODO: NOT_ALLOCATABLE_ALLOCATOR is probably ok here. Confirm. JRUBY-415 RubyClass methodClass = runtime.defineClass("Method", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR); runtime.setMethod(methodClass); methodClass.setClassIndex(ClassIndex.METHOD); methodClass.setReifiedClass(RubyMethod.class); methodClass.defineAnnotatedMethods(AbstractRubyMethod.class); methodClass.defineAnnotatedMethods(RubyMethod.class); return methodClass; }
static RubyClass createDateTimeClass(Ruby runtime, RubyClass Date) { RubyClass DateTime = runtime.defineClass("DateTime", Date, ALLOCATOR); DateTime.setReifiedClass(RubyDateTime.class); DateTime.defineAnnotatedMethods(RubyDateTime.class); return DateTime; }
public static RubyClass createModuleClass(Ruby runtime, RubyClass moduleClass) { moduleClass.setClassIndex(ClassIndex.MODULE); moduleClass.setReifiedClass(RubyModule.class); moduleClass.kindOf = new RubyModule.JavaClassKindOf(RubyModule.class); moduleClass.defineAnnotatedMethods(RubyModule.class); moduleClass.defineAnnotatedMethods(ModuleKernelMethods.class); return moduleClass; }
public static RubyClass createConverterClass(Ruby runtime) { RubyClass converterc = runtime.defineClassUnder("Converter", runtime.getData(), CONVERTER_ALLOCATOR, runtime.getEncoding()); runtime.setConverter(converterc); converterc.setClassIndex(ClassIndex.CONVERTER); converterc.setReifiedClass(RubyConverter.class); converterc.kindOf = new RubyModule.JavaClassKindOf(RubyConverter.class); converterc.defineAnnotatedMethods(RubyConverter.class); converterc.defineAnnotatedConstants(RubyConverter.class); return converterc; }
/** * Will create the Ruby class Object in the runtime * specified. This method needs to take the actual class as an * argument because of the Object class' central part in runtime * initialization. */ public static RubyClass createObjectClass(Ruby runtime, RubyClass objectClass) { objectClass.setClassIndex(ClassIndex.OBJECT); objectClass.setReifiedClass(RubyObject.class); return objectClass; }
public static RubyClass createProcClass(Ruby runtime) { RubyClass procClass = runtime.defineClass("Proc", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR); runtime.setProc(procClass); procClass.setClassIndex(ClassIndex.PROC); procClass.setReifiedClass(RubyProc.class); procClass.defineAnnotatedMethods(RubyProc.class); return procClass; }
static RubyClass define(Ruby runtime, RubyClass StandardError) { RubyClass NameError = runtime.defineClass("NameError", StandardError, ALLOCATOR); NameError.defineAnnotatedMethods(RubyNameError.class); NameError.setReifiedClass(RubyNameError.class); return NameError; }
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")); }
/** Create the RubyMethod class and add it to the Ruby runtime. * */ public static RubyClass createMethodClass(Ruby runtime) { // TODO: NOT_ALLOCATABLE_ALLOCATOR is probably ok here. Confirm. JRUBY-415 RubyClass methodClass = runtime.defineClass("Method", runtime.getObject(), ObjectAllocator.NOT_ALLOCATABLE_ALLOCATOR); runtime.setMethod(methodClass); methodClass.setClassIndex(ClassIndex.METHOD); methodClass.setReifiedClass(RubyMethod.class); methodClass.defineAnnotatedMethods(AbstractRubyMethod.class); methodClass.defineAnnotatedMethods(RubyMethod.class); return methodClass; }
static RubyClass define(Ruby runtime, RubyClass superClass) { RubyClass KeyError = runtime.defineClass("KeyError", superClass, (runtime1, klass) -> new RubyKeyError(runtime1, klass)); KeyError.defineAnnotatedMethods(RubyKeyError.class); KeyError.setReifiedClass(RubyKeyError.class); return KeyError; }
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")); }
public static RubyClass createExceptionClass(Ruby runtime) { RubyClass exceptionClass = runtime.defineClass("Exception", runtime.getObject(), EXCEPTION_ALLOCATOR); runtime.setException(exceptionClass); exceptionClass.setClassIndex(ClassIndex.EXCEPTION); exceptionClass.setReifiedClass(RubyException.class); exceptionClass.setMarshal(EXCEPTION_MARSHAL); exceptionClass.defineAnnotatedMethods(RubyException.class); return exceptionClass; }
static RubyClass createSortedSetClass(final Ruby runtime) { RubyClass SortedSet = runtime.defineClass("SortedSet", runtime.getClass("Set"), ALLOCATOR); SortedSet.setReifiedClass(RubySortedSet.class); SortedSet.defineAnnotatedMethods(RubySortedSet.class); return SortedSet; }
newStruct.setReifiedClass(RubyStruct.class); newStruct.setClassIndex(ClassIndex.STRUCT); newStruct.setInternalVariable(KEYWORD_INIT_VAR, keywordInit ? runtime.getTrue() : runtime.getFalse()); newStruct.getSingletonClass().defineAnnotatedMethods(StructMethods.class);
public static RubyClass createExceptionClass(Ruby runtime) { RubyClass exceptionClass = runtime.defineClass("Exception", runtime.getObject(), EXCEPTION_ALLOCATOR); runtime.setException(exceptionClass); exceptionClass.setClassIndex(ClassIndex.EXCEPTION); exceptionClass.setReifiedClass(RubyException.class); exceptionClass.setMarshal(EXCEPTION_MARSHAL); exceptionClass.defineAnnotatedMethods(RubyException.class); return exceptionClass; }