public static void initMethods(RubyClass klass) { klass.defineMethod( "alive?", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyThread) receiver).alive(); } }); klass.defineMethod( "[]", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyThread) receiver).getVariable(arg); } }); klass .getSingletonClass() .defineMethod( "list", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return RubyThread.list(receiver); } }); klass.defineMethod( "kill", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyThread) receiver).kill(); } }); klass.aliasMethod("exit", "kill"); klass.defineMethod( "run", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyThread) receiver).run(); } }); klass.defineMethod( "priority=", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyThread) receiver).set_priority(arg); } }); klass.defineMethod( "wakup", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyThread) receiver).wakup(); } }); klass.defineMethod( "stop?", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyThread) receiver).getStoped(); } }); klass .getSingletonClass() .defineMethod( "main", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return RubyThread.getMainThread(receiver); } }); klass.defineMethod( "key?", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyThread) receiver).is_key(arg); } }); klass.defineMethod( "==", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyThread) receiver).equal(arg); } }); klass.defineMethod( "priority", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyThread) receiver).priority(); } }); klass.defineMethod( "value", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyThread) receiver).value(); } }); klass .getSingletonClass() .defineMethod( "new", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return RubyThread.newThread(receiver, args, block); } }); klass.getSingletonClass().aliasMethod("fork", "new"); klass.getSingletonClass().aliasMethod("start", "new"); klass .getSingletonClass() .defineMethod( "pass", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return RubyThread.pass(receiver); } }); klass.defineMethod( "[]=", new RubyTwoArgMethod() { protected RubyValue run( RubyValue receiver, RubyValue arg0, RubyValue arg1, RubyBlock block) { return ((RubyThread) receiver).setVariable(arg0, arg1); } }); klass.defineMethod( "status", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyThread) receiver).status(); } }); klass .getSingletonClass() .defineMethod( "current", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return RubyThread.current(receiver); } }); klass.defineMethod( "keys", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyThread) receiver).keys(); } }); klass.defineMethod( "join", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return ((RubyThread) receiver).join(args, block); } }); klass .getSingletonClass() .defineMethod( "critical", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return RubyThread.critical(receiver, arg); } }); klass .getSingletonClass() .defineMethod( "critical=", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return RubyThread.set_critical(receiver, arg); } }); klass .getSingletonClass() .defineMethod( "stop", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return RubyThread.stop(receiver); } }); klass.defineMethod( "group", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyThread) receiver).getThreadGroup(); } }); klass.defineMethod( "inspect", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyThread) receiver).rubyInspect(); } }); }
public static void initMethods(RubyClass klass) { klass.defineMethod( "to_f", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyBignum) receiver).to_f(); } }); klass.defineMethod( "[]", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).aref(arg); } }); klass.defineMethod( "-@", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyBignum) receiver).uminus(); } }); klass.defineMethod( "&", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).op_band(arg); } }); klass.defineMethod( "coerce", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).coerce(arg); } }); klass.defineMethod( "%", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).op_mod(arg); } }); klass.defineMethod( "*", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).op_mul(arg); } }); klass.defineMethod( "+", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).op_add(arg); } }); klass.defineMethod( "/", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).op_div(arg); } }); klass.aliasMethod("fdiv", "/"); klass.defineMethod( "-", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).op_sub(arg); } }); klass.defineMethod( "size", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyBignum) receiver).rubySize(); } }); klass.defineMethod( "<=>", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).cmp(arg); } }); klass.defineMethod( "==", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).equal(arg); } }); klass.defineMethod( "eql?", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).eql(arg); } }); klass.defineMethod( "to_s", new RubyNoOrOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyBignum) receiver).to_s(); } protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).to_s(arg); } }); klass.defineMethod( "quo", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).quo(arg); } }); klass.defineMethod( ">>", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).rshift(arg); } }); klass.defineMethod( "<<", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).lshift(arg); } }); klass.defineMethod( "~", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyBignum) receiver).op_neg(); } }); klass.defineMethod( "|", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).op_bor(arg); } }); klass.defineMethod( "^", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).op_bxor(arg); } }); klass.defineMethod( "**", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyBignum) receiver).pow(arg); } }); }
public static void initMethods(RubyClass klass) { klass .getSingletonClass() .defineMethod( "rmdir", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return RubyDir.rmdir(receiver, arg); } }); klass.getSingletonClass().aliasMethod("delete", "rmdir"); klass.getSingletonClass().aliasMethod("unlink", "rmdir"); klass .getSingletonClass() .defineMethod( "entries", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return RubyDir.entries(receiver, arg, block); } }); klass .getSingletonClass() .defineMethod( "foreach", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return RubyDir.foreach(receiver, arg, block); } }); klass.defineMethod( "pos=", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyDir) receiver).setPos(arg); } }); klass.defineMethod( "rewind", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyDir) receiver).rewind(); } }); klass .getSingletonClass() .defineMethod( "[]", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return RubyDir.array_access(receiver, arg); } }); klass .getSingletonClass() .defineMethod( "glob", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return RubyDir.glob(receiver, arg, block); } }); klass.defineMethod( "close", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyDir) receiver).close(); } }); klass.defineMethod( "pos", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyDir) receiver).pos(); } }); klass.aliasMethod("tell", "pos"); klass.defineMethod( "seek", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyDir) receiver).seek(arg); } }); klass .getSingletonClass() .defineMethod( "open", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return RubyDir.open(receiver, arg, block); } }); klass .getSingletonClass() .defineMethod( "mkdir", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return RubyDir.mkdir(receiver, arg); } }); klass.defineMethod( "path", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyDir) receiver).getPath(); } }); klass .getSingletonClass() .defineMethod( "chdir", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return RubyDir.chdir(receiver, arg); } }); klass .getSingletonClass() .defineMethod( "new", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return RubyDir.dirNew(receiver, arg); } }); klass.defineMethod( "read", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyDir) receiver).read(); } }); klass .getSingletonClass() .defineMethod( "getwd", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return RubyDir.getwd(receiver); } }); klass.getSingletonClass().aliasMethod("pwd", "getwd"); klass.defineMethod( "each", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyDir) receiver).each(block); } }); klass .getSingletonClass() .defineMethod( "exist?", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return RubyDir.exist_question(receiver, arg); } }); klass.getSingletonClass().aliasMethod("exists?", "exist?"); }
public static void initMethods(RubyClass klass) { klass.defineMethod( "downcase!", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).downcaseBang(); } }); klass.defineMethod( "count", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return ((RubyString) receiver).count(args); } }); klass.defineMethod( "tr", new RubyTwoArgMethod() { protected RubyValue run( RubyValue receiver, RubyValue arg0, RubyValue arg1, RubyBlock block) { return ((RubyString) receiver).tr(arg0, arg1); } }); klass.defineMethod( "swapcase!", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).swapcaseBang(); } }); klass.defineMethod( "<=>", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyString) receiver).operator_compare(arg); } }); klass.defineMethod( "include?", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyString) receiver).include_p(arg); } }); klass.defineMethod( "=~", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyString) receiver).operator_match(arg); } }); klass.defineMethod( "squeeze", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return ((RubyString) receiver).squeeze(args); } }); klass.defineMethod( "hex", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).hex(); } }); klass.defineMethod( "downcase", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).downcase(); } }); klass.defineMethod( "initialize", new RubyNoOrOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).initialize(); } protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyString) receiver).initialize(arg); } }); klass.aliasMethod("initialize_copy", "initialize"); klass.defineMethod( "delete!", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return ((RubyString) receiver).delete_danger(args); } }); klass.defineMethod( "%", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyString) receiver).format(arg); } }); klass.defineMethod( "*", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyString) receiver).operator_star(arg); } }); klass.defineMethod( "+", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyString) receiver).plus(arg); } }); klass.defineMethod( "capitalize", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).capitalize(); } }); klass.defineMethod( "strip", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).strip(); } }); klass.defineMethod( "upcase", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).upcase(); } }); klass.defineMethod( "split", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return ((RubyString) receiver).split(args); } }); klass.defineMethod( "each_byte", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).each_byte(block); } }); klass.defineMethod( "each", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).each(block); } }); klass.aliasMethod("each_line", "each"); klass.defineMethod( "chop", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).chop(); } }); klass.defineMethod( "sub!", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return ((RubyString) receiver).sub_danger(args, block); } }); klass.defineMethod( "unpack", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyString) receiver).unpack(arg); } }); klass.defineMethod( "sub", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return ((RubyString) receiver).sub(args, block); } }); klass.defineMethod( "to_f", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).toRubyFloat(); } }); klass.defineMethod( "[]", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return ((RubyString) receiver).array_access(args); } }); klass.aliasMethod("slice", "[]"); klass.defineMethod( "dump", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).rubyDump(); } }); klass.defineMethod( "to_i", new RubyNoOrOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).to_i(); } protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyString) receiver).to_i(arg); } }); klass.defineMethod( "gsub!", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return ((RubyString) receiver).gsub_danger(args, block); } }); klass.defineMethod( "to_s", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).to_s(); } }); klass.defineMethod( "swapcase", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).swapcase(); } }); klass.defineMethod( "upcase!", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).upcaseBang(); } }); klass.defineMethod( "==", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyString) receiver).opEqual(arg); } }); klass.defineMethod( "eql?", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyString) receiver).opEql(arg); } }); klass.defineMethod( "delete", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return ((RubyString) receiver).delete(args); } }); klass.defineMethod( "length", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).rubyLength(); } }); klass.defineMethod( "bytesize", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).rubyBytesize(); } }); klass.defineMethod( "capitalize!", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).capitalizeBang(); } }); klass.defineMethod( "tr_s!", new RubyTwoArgMethod() { protected RubyValue run( RubyValue receiver, RubyValue arg0, RubyValue arg1, RubyBlock block) { return ((RubyString) receiver).trs_danger(arg0, arg1); } }); klass.defineMethod( "[]=", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return ((RubyString) receiver).array_set(args); } }); klass.defineMethod( "gsub", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return ((RubyString) receiver).gsub(args, block); } }); klass.defineMethod( "reverse", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).reverse(); } }); klass.defineMethod( "chomp", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return ((RubyString) receiver).chomp(args); } }); klass.defineMethod( "tr!", new RubyTwoArgMethod() { protected RubyValue run( RubyValue receiver, RubyValue arg0, RubyValue arg1, RubyBlock block) { return ((RubyString) receiver).tr_danger(arg0, arg1); } }); klass.defineMethod( "reverse!", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).reverse_danger(); } }); klass.defineMethod( "tr_s", new RubyTwoArgMethod() { protected RubyValue run( RubyValue receiver, RubyValue arg0, RubyValue arg1, RubyBlock block) { return ((RubyString) receiver).tr_s(arg0, arg1); } }); klass.defineMethod( "concat", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyString) receiver).concat(arg); } }); klass.aliasMethod("<<", "concat"); klass.defineMethod( "strip!", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).stripBang(); } }); klass.defineMethod( "squeeze!", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return ((RubyString) receiver).squeeze_danger(args); } }); klass.defineMethod( "lstrip!", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).lstripBang(); } }); klass.defineMethod( "chomp!", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray args, RubyBlock block) { return ((RubyString) receiver).chomp_danger(args); } }); klass.defineMethod( "intern", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).intern(); } }); klass.aliasMethod("to_sym", "intern"); klass.defineMethod( "scan", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyString) receiver).scan(arg, block); } }); klass.defineMethod( "chop!", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).chopBang(); } }); klass.defineMethod( "encoding", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).getEncoding(); } }); klass.defineMethod( "force_encoding", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyString) receiver).force_encoding(arg); } }); klass.defineMethod( "end_with?", new RubyOneArgMethod() { protected RubyValue run(RubyValue receiver, RubyValue arg, RubyBlock block) { return ((RubyString) receiver).opEndWith(arg); } }); klass.defineMethod( "end_with?", new RubyVarArgMethod() { protected RubyValue run(RubyValue receiver, RubyArray arg, RubyBlock block) { return ((RubyString) receiver).opEndWith(arg); } }); klass.defineMethod( "ord", new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return ((RubyString) receiver).ord(); } }); klass.defineAllocMethod( new RubyNoArgMethod() { protected RubyValue run(RubyValue receiver, RubyBlock block) { return RubyString.alloc(receiver); } }); }