Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
~ ➔ cat test.rb puts DATA __END__ foo bar baz ~ ➔ jrubyc test.rb Compiling test.rb to class ruby/test ~ ➔ javap -c -private ruby/test Compiled from "test.rb" public class ruby.test extends org.jruby.ast.executable.AbstractScript{ private final java.lang.Class $class; public ruby.test(); Code: 0: aload_0 1: invokespecial #9; //Method org/jruby/ast/executable/AbstractScript."<init>":()V 4: aload_0 5: ldc #13; //String ruby.test 7: invokestatic #19; //Method java/lang/Class.forName:(Ljava/lang/String;)Ljava/lang/Class; 10: putfield #21; //Field $class:Ljava/lang/Class; 13: aload_0 14: ldc #42; //String puts 16: invokestatic #48; //Method org/jruby/runtime/MethodIndex.getFunctionalCallSite:(Ljava/lang/String;)Lorg/jruby/runtime/CallSite; 19: putfield #52; //Field site0:Lorg/jruby/runtime/CallSite; 22: return public static {}; Code: 0: return public org.jruby.runtime.builtin.IRubyObject __file__(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block); Code: 0: aload_1 1: invokevirtual #30; //Method org/jruby/runtime/ThreadContext.getRuntime:()Lorg/jruby/Ruby; 4: dup 5: astore 6 7: invokevirtual #36; //Method org/jruby/Ruby.getNil:()Lorg/jruby/runtime/builtin/IRubyObject; 10: astore 8 12: nop 13: aload_1 14: iconst_0 15: invokestatic #40; //Method setPosition:(Lorg/jruby/runtime/ThreadContext;I)V 18: aload_0 19: getfield #52; //Field site0:Lorg/jruby/runtime/CallSite; 22: aload_1 23: aload_2 24: aload_1 25: ldc #54; //String DATA 27: invokevirtual #58; //Method org/jruby/runtime/ThreadContext.getConstant:(Ljava/lang/String;)Lorg/jruby/runtime/builtin/IRubyObject; 30: invokevirtual #64; //Method org/jruby/runtime/CallSite.call:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject; 33: areturn public org.jruby.runtime.builtin.IRubyObject load(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block); Code: 0: aload_1 1: iconst_0 2: anewarray #67; //class java/lang/String 5: invokestatic #73; //Method org/jruby/javasupport/util/RuntimeHelpers.preLoad:(Lorg/jruby/runtime/ThreadContext;[Ljava/lang/String;)V 8: aload_0 9: aload_1 10: aload_2 11: aload_3 12: aload 4 14: invokevirtual #75; //Method __file__:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject; 17: aload_1 18: invokestatic #79; //Method org/jruby/javasupport/util/RuntimeHelpers.postLoad:(Lorg/jruby/runtime/ThreadContext;)V 21: areturn 22: aload_1 23: invokestatic #79; //Method org/jruby/javasupport/util/RuntimeHelpers.postLoad:(Lorg/jruby/runtime/ThreadContext;)V 26: athrow Exception table: from to target type 0 22 22 any public static void main(java.lang.String[]); Code: 0: new #2; //class ruby/test 3: dup 4: invokespecial #82; //Method "<init>":()V 7: new #84; //class org/jruby/RubyInstanceConfig 10: dup 11: invokespecial #85; //Method org/jruby/RubyInstanceConfig."<init>":()V 14: dup 15: aload_0 16: invokevirtual #88; //Method org/jruby/RubyInstanceConfig.setArgv:([Ljava/lang/String;)V 19: invokestatic #92; //Method org/jruby/Ruby.newInstance:(Lorg/jruby/RubyInstanceConfig;)Lorg/jruby/Ruby; 22: dup 23: invokevirtual #96; //Method org/jruby/Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext; 26: swap 27: invokevirtual #99; //Method org/jruby/Ruby.getTopSelf:()Lorg/jruby/runtime/builtin/IRubyObject; 30: getstatic #105; //Field org/jruby/runtime/builtin/IRubyObject.NULL_ARRAY:[Lorg/jruby/runtime/builtin/IRubyObject; 33: getstatic #111; //Field org/jruby/runtime/Block.NULL_BLOCK:Lorg/jruby/runtime/Block; 36: invokevirtual #113; //Method load:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;[Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject; 39: return private static void setPosition(org.jruby.runtime.ThreadContext, int); Code: 0: aload_0 1: ldc #114; //String test.rb 3: iload_1 4: invokevirtual #118; //Method org/jruby/runtime/ThreadContext.setFileAndLine:(Ljava/lang/String;I)V 7: return }
This paste will be private.
From the Design Piracy series on my blog: