<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -152,6 +152,8 @@ module RbPlusPlus
 
           node.includes = get_includes_for(node)
 
+          node.declarations = get_decls_for(node)
+
           node.body = [
             &quot;void #{register_func}(#{register_func_prototype}) {&quot;,
             get_body_for(node),
@@ -186,6 +188,17 @@ module RbPlusPlus
         node.body + body.flatten
       end
 
+      def get_decls_for(node)
+        return node.declarations if node.is_a?(Builders::ModuleBuilder)
+
+        declarations = 
+          node.builders.inject([]) do |memo, inner|
+            memo &lt;&lt; get_decls_for(inner) unless inner.is_a?(Builders::ModuleBuilder)
+            memo
+          end
+        node.declarations + declarations.flatten
+      end
+
     end
   end
 end</diff>
      <filename>lib/rbplusplus/writers/multiple_files_writer.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>0e926fb15c8e197bd29ab7943399e96b84e85c1a</id>
    </parent>
  </parents>
  <author>
    <name>Jason Roelofs</name>
    <email>jameskilton@gmail.com</email>
  </author>
  <url>http://github.com/jameskilton/rbplusplus/commit/960585b8c4bc52be79a04d2861ebb35012859c88</url>
  <id>960585b8c4bc52be79a04d2861ebb35012859c88</id>
  <committed-date>2009-06-04T20:57:12-07:00</committed-date>
  <authored-date>2009-06-04T20:57:12-07:00</authored-date>
  <message>Forgot to make sure nested nodes' declarations are written out too</message>
  <tree>884fa93d06c60737f67d195a1980f42618a005aa</tree>
  <committer>
    <name>Jason Roelofs</name>
    <email>jameskilton@gmail.com</email>
  </committer>
</commit>
