Created
March 6, 2012 03:29
-
-
Save baroquebobcat/1983237 to your computer and use it in GitHub Desktop.
Blog post notes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class SomeAppWithAnUnmacroedView < ShatnerBase | |
get '/' do | |
render do | |
def_edb render, 'views/index.edb' | |
end | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class ScopedBody | |
def defining_class | |
scope.defining_class | |
end | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ rake test --trace | |
** Invoke test (first_time) | |
... | |
Inferring types... | |
test_shatner.mirah:44: undefined method `name' for nil:NilClass | |
render do | |
^^^^^^^^^^^^^^ | |
def_edb render, 'views/index.edb' | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
end | |
^^^^^^^ | |
rake aborted! | |
undefined method `name' for nil:NilClass | |
/Users/nick/hacking/mirah/lib/mirah/ast/scope.rb:164:in `binding_type' | |
/Users/nick/hacking/mirah/lib/mirah/ast/scope.rb:162:in `binding_type' | |
/Users/nick/hacking/mirah/lib/mirah/ast/structure.rb:185:in `binding_type' | |
/Users/nick/hacking/mirah/lib/mirah/ast/structure.rb:149:in `prepare' | |
/Users/nick/hacking/mirah/lib/mirah/ast/call.rb:97:in `infer' | |
org |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Inferring types... | |
Compiling... | |
test_shatner.mirah | |
Done! | |
cd - | |
Done Compiling Tests | |
** Execute test | |
running tests | |
Running org.shatner.SinatraCloneTest | |
Testsuite: org.shatner.SinatraCloneTest | |
Tests run: 3, Failures: 0, Errors: 1, Time elapsed: 0.037 sec | |
... elided ... | |
Testcase: test_some_app_with_view_prints_bananas took 0.002 sec | |
Caused an ERROR | |
(class: org/shatner/SomeAppWithAnUnmacroedView$__xform_tmp_6, method: call signature: ()Ljava/lang/Object;) Incompatible argument to function | |
java.lang.VerifyError: (class: org/shatner/SomeAppWithAnUnmacroedView$__xform_tmp_6, method: call signature: ()Ljava/lang/Object;) Incompatible argument to function | |
at org.shatner.SomeAppWithAnUnmacroedView.<init>(test_shatner.mirah:83) | |
at org.shatner.SinatraCloneTest.test_some_app_with_view_prints_bananas(test_shatner.mirah:134) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
test_shatner.mirah:44: undefined method `defining_class' for #<Mirah::AST::ScopedBody:0x32535e27> | |
render do | |
^^^^^^^^^^^^^^ | |
def_edb render, 'views/index.edb' | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
end | |
^^^^^^^ | |
rake aborted! | |
undefined method `defining_class' for #<Mirah::AST::ScopedBody:0x32535e27> | |
/Users/nick/hacking/mirah/lib/mirah/ast/structure.rb:155:in `prepare' | |
/Users/nick/hacking/mirah/lib/mirah/ast/call.rb:97:in `infer' | |
org/jruby/RubyKernel.java:2082:in `send' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Generated from test_shatner.mirah | |
package org.shatner; | |
public class SomeAppWithAnUnmacroedView extends org.shatner.ShatnerBase { | |
public SomeAppWithAnUnmacroedView() { | |
org.shatner.SomeAppWithAnUnmacroedView.__xform_tmp_5 $binding = new org.shatner.SomeAppWithAnUnmacroedView.__xform_tmp_5(); | |
java.lang.String temp$1 = null; | |
{ | |
temp$1 = "/"; | |
} | |
org.shatner.SomeAppWithAnUnmacroedView.__xform_tmp_6 temp$2 = new org.shatner.SomeAppWithAnUnmacroedView.__xform_tmp_6($binding); | |
this.add_callback_for_route("GET", temp$1, temp$2); | |
} | |
public static class __xform_tmp_5 extends java.lang.Object { | |
} | |
public static class __xform_tmp_6 extends java.lang.Object implements org.shatner.ShatnerCallable { | |
private org.shatner.SomeAppWithAnUnmacroedView.__xform_tmp_5 binding; | |
public __xform_tmp_6(org.shatner.SomeAppWithAnUnmacroedView.__xform_tmp_5 binding) { | |
this.binding = binding; | |
} | |
public java.lang.Object call() { | |
org.shatner.SomeAppWithAnUnmacroedView.__xform_tmp_5 $binding = this.binding; | |
java.lang.String result = null; | |
org.shatner.ShatnerView view = null; | |
java.lang.String temp$1 = null; | |
{ | |
temp$1 = this.render(new org.shatner.SomeAppWithAnUnmacroedView.__xform_tmp_6.__xform_tmp_8($binding)); | |
} | |
result = temp$1; | |
return result; | |
} | |
public java.lang.Object render(org.shatner.ShatnerView view) { | |
org.shatner.SomeAppWithAnUnmacroedView.__xform_tmp_5 $binding = this.binding; | |
java.lang.String result = null; | |
return view.render(); | |
} | |
public static class __xform_tmp_6 extends java.lang.Object implements org.shatner.ShatnerView { | |
private org.shatner.SomeAppWithAnUnmacroedView.__xform_tmp_6.__xform_tmp_7 binding; | |
public __xform_tmp_6(org.shatner.SomeAppWithAnUnmacroedView.__xform_tmp_6.__xform_tmp_7 binding) { | |
this.binding = binding; | |
} | |
public java.lang.String render() { | |
org.shatner.SomeAppWithAnUnmacroedView.__xform_tmp_6.__xform_tmp_7 $binding = this.binding; | |
return ; | |
} | |
public java.lang.String render() { | |
java.lang.StringBuilder _edbout = null; | |
_edbout = new java.lang.StringBuilder(); | |
_edbout.append("bananas"); | |
return _edbout.toString(); | |
} | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Inferring types... | |
Compiling... | |
test_shatner.mirah | |
test_shatner.mirah:44: undefined method `[]' for nil:NilClass | |
render do | |
^^^^ | |
def_edb render, 'views/index.edb' | |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | |
end | |
^^^^^^^ | |
rake aborted! | |
undefined method `[]' for nil:NilClass | |
/Users/nick/hacking/mirah/lib/mirah/jvm/compiler/jvm_bytecode.rb:530:in `get_binding' | |
/Users/nick/hacking/mirah/lib/mirah/jvm/compiler/jvm_bytecode.rb:830:in `prepare_binding' | |
/Users/nick/hacking/mirah/lib/mirah/jvm/compiler/jvm_bytecode.rb:192:in `method_body' | |
/Users/nick/hacking/mirah/lib/mirah/jvm/compiler/base.rb:260:in `with' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment