diff src/symtab.h @ 11445:40f311a69417

fix OO field access in subfunctions of private functions
author John W. Eaton <jwe@octave.org>
date Wed, 05 Jan 2011 16:17:35 -0500
parents 1783b360976f
children fd0a3ac60b0e
line wrap: on
line diff
--- a/src/symtab.h	Wed Jan 05 03:23:09 2011 -0500
+++ b/src/symtab.h	Wed Jan 05 16:17:35 2011 -0500
@@ -594,6 +594,9 @@
           subfunctions.erase (p);
       }
 
+      void mark_subfunction_in_scope_as_private (scope_id scope,
+                                                 const std::string& class_name);
+
       void install_cmdline_function (const octave_value& f)
       {
         cmdline_function = f;
@@ -824,6 +827,12 @@
       rep->erase_subfunction (scope);
     }
 
+    void mark_subfunction_in_scope_as_private (scope_id scope,
+                                               const std::string& class_name)
+    {
+      rep->mark_subfunction_in_scope_as_private (scope, class_name);
+    }
+
     void install_cmdline_function (const octave_value& f)
     {
       rep->install_cmdline_function (f);
@@ -966,6 +975,15 @@
       q->second.erase_subfunction (scope);
   }
 
+  static void
+  mark_subfunctions_in_scope_as_private (scope_id scope,
+                                         const std::string& class_name)
+  {
+    for (fcn_table_iterator q = fcn_table.begin ();
+         q != fcn_table.end (); q++)
+      q->second.mark_subfunction_in_scope_as_private (scope, class_name);
+  }
+
   static scope_id dup_scope (scope_id scope)
   {
     scope_id retval = -1;