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

Reply via email to