diff libinterp/octave-value/ov-base.h @ 23838:6e0fd7e3c262

Fix argument lookup in '+' package functions (Bug #51532). * pt-eval.cc (tree_evaluator::visit_index_expression): Check to see if the expression is a package. If it is, then indexing_object should be false. * ov.h, ov-base.h, ov-classdef.cc (is_package): New method for checking if object is a package. It passes information from cdef_meta_object. * test/module.mk, test/bug-51532/module.mk, test/+package_bug51532/foo.m, test/bug-51532.tst: Added test for the bug.
author Piotr Held <pjheld@gmail.com>
date Mon, 07 Aug 2017 15:05:19 -0700
parents 980f39c3ab90
children a52eb3f210af
line wrap: on
line diff
--- a/libinterp/octave-value/ov-base.h	Mon Aug 07 08:29:39 2017 -0700
+++ b/libinterp/octave-value/ov-base.h	Mon Aug 07 15:05:19 2017 -0700
@@ -373,6 +373,8 @@
   virtual bool is_classdef_meta (void) const { return false; }
 
   virtual bool is_classdef_object (void) const { return false; }
+  
+  virtual bool is_package (void) const { return false; }
 
   virtual bool isjava (void) const { return false; }