Title: [736] trunk/jparsetree/lib: fixed dumb bug for parse_tree_for_method (arguments were dropped, wrapping scope/body lists were omitted);
- Revision
- 736
- Author
- murphee
- Date
- 2007-09-09 19:39:57 -0400 (Sun, 09 Sep 2007)
Log Message
fixed dumb bug for parse_tree_for_method (arguments were dropped, wrapping scope/body lists were omitted);
Modified Paths
Diff
Modified: trunk/jparsetree/lib/parse_tree.rb (735 => 736)
--- trunk/jparsetree/lib/parse_tree.rb 2007-09-04 15:18:44 UTC (rev 735)
+++ trunk/jparsetree/lib/parse_tree.rb 2007-09-09 23:39:57 UTC (rev 736)
@@ -42,7 +42,7 @@
def initialize(arg=false)
end
-VERSION = '1.0.0.717'
+VERSION = '1.0.1.717'
##
# Main driver for ParseTree. Returns an array of arrays containing
@@ -182,7 +182,11 @@
# TODO: add a test that tests an alias that has arguments!!
[:defn, methodNameAsSymbol, [:fbody, [:scope,[:block, [:args], parse_tree_for_AST(method_ast[1]).sexpr]]]]
else
- [:defn, methodNameAsSymbol, parse_tree_for_AST(method_ast[1]).sexpr]
+ # TODO: find out where to get the argument count!
+ # use the method node to get argument counts;
+ args = parse_tree_for_AST(method_ast[1]).sexpr
+ body = parse_tree_for_AST(method_ast[2]).sexpr
+ [:defn, methodNameAsSymbol, [:scope, [:block, args, body] ]]
end
end
end
Modified: trunk/jparsetree/lib/runtimeAstProvider.rb (735 => 736)
--- trunk/jparsetree/lib/runtimeAstProvider.rb 2007-09-04 15:18:44 UTC (rev 735)
+++ trunk/jparsetree/lib/runtimeAstProvider.rb 2007-09-09 23:39:57 UTC (rev 736)
@@ -17,7 +17,7 @@
jfield.accessible=true
meth = Java::java_to_ruby(jfield.value(jobj))
jobj=Java::ruby_to_java meth
- #p "Method: #{jobj}"
+# p "Method: #{jobj}"
# TODO: handle oldMethod for AliasMethods!
bodies = jobj.java_class.declared_fields.select(){|f|
@@ -27,10 +27,10 @@
# MethodMethods
theMethods = jobj.java_class.declared_fields.select(){|f|
- #p "Field/Method: #{f.name}"
+# p "Field/Method: #{f.name}"
f.name.grep("method").size > 0
}
- #p "MethodsMethods size: #{theMethods.size}"
+ p "MethodsMethods size: #{theMethods.size}"
if theMethods.size > 0
theField = theMethods[0]
jfield=jobj.java_class.declared_field('method')
@@ -73,12 +73,16 @@
return [:callback ]
end
- # p "bodies.size #{bodies.size}"
+# p "bodies.size #{bodies.size}"
if bodies.size > 0
theField = bodies[0]
jfield=jobj.java_class.declared_field('body')
jfield.accessible=true
- [:default_method, Java::java_to_ruby(jfield.value(jobj))]
+
+ argsField =jobj.java_class.declared_field('argsNode')
+ argsField.accessible=true
+
+ [:default_method, Java::java_to_ruby( argsField.value(jobj) ), Java::java_to_ruby(jfield.value(jobj))]
else
if procs.size > 0
theField = procs[0]
_______________________________________________
Jruby-extras-devel mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/jruby-extras-devel