diff libinterp/parse-tree/parse.h @ 18262:69990d5edcc2

Allow to parse external methods declaration in classdef files. * libinterp/parse-tree/parser.h (octave_base_parser::start_classdef_external_method, octave_base_parser::finish_classdef_external_method): New methods. * libinterp/parse-tree/oct-parse.in.yy (octave_base_parser::start_classdef_external_method, octave_base_parser::finish_classdef_external_method): Likewise. (%destructor): Add missing directives for classdef-related types. (method, method_decl, method_decl1): New nonterminal rules. (methods_list): Use "method" on terminal. * libinterp/octave-value/ov-classdef.cc (cdef_package::cdef_package_rep::meta_subsref): When searching for package methods, only issue an error when error_state is not set.
author Michael Goffioul <michael.goffioul@gmail.com>
date Sun, 12 Jan 2014 15:54:43 -0500
parents 97e49b588f5d
children 932aca9a7c57
line wrap: on
line diff
--- a/libinterp/parse-tree/parse.h	Sat Jan 11 22:50:11 2014 -0800
+++ b/libinterp/parse-tree/parse.h	Sun Jan 12 15:54:43 2014 -0500
@@ -339,6 +339,15 @@
                             tree_classdef_enum_list *elist,
                             token *end_tok, octave_comment_list *lc);
 
+  octave_user_function *
+  start_classdef_external_method (tree_identifier *id,
+                                  tree_parameter_list *pl);
+
+  tree_function_def *
+  finish_classdef_external_method (octave_user_function *fcn,
+                                   tree_parameter_list *ret_list,
+                                   octave_comment_list *cl);
+
   // Make an index expression.
   tree_index_expression *
   make_index_expression (tree_expression *expr,