diff libinterp/octave-value/ov-base.h @ 23683:ffd27f53fc79

make +package function calls work again (bug #51295, #51296) * ov.h (octave_value::is_classdef_meta): New function. * ov-base.h (octave_base_value::is_classdef_meta): New virtual function. * ov-classdef.cc (octave_classdef_meta::is_classdef_meta): New function. * pt-eval.cc (tree_evaluator::visit_index_expression): Handle calls to functions from +package directories. Don't call subsref on function objects unless they are classdef_meta objects. If indexing produces a function object, call it.
author John W. Eaton <jwe@octave.org>
date Fri, 23 Jun 2017 18:18:07 -0400
parents ef71711f6d64
children 980f39c3ab90
line wrap: on
line diff
--- a/libinterp/octave-value/ov-base.h	Fri Jun 23 12:32:19 2017 -0700
+++ b/libinterp/octave-value/ov-base.h	Fri Jun 23 18:18:07 2017 -0400
@@ -370,6 +370,8 @@
 
   virtual bool isobject (void) const { return false; }
 
+  virtual bool is_classdef_meta (void) const { return false; }
+
   virtual bool is_classdef_object (void) const { return false; }
 
   virtual bool isjava (void) const { return false; }