view .hgsub @ 15968:cdeb6eb656be classdef

Move property/method access check down to cdef_property/cdef_method classes. * libinterp/octave-value/ov-classdef.h (cdef_property::cdef_property_rep::get_value, cdef_property::cdef_property_rep::set_value): Add arguments (do_check_access and who) to control access checking and pass down to gripe utility function. (cdef_property::get_value, cdef_property::set_value): Likewise. (cdef_method::cdef_method_rep::execute): Likewise. (cdef_method::execute): Likewise. (cdef_property::check_get_access, cdef_property::check_set_access): Move implementation to cdef_property::cdef_property_rep. (cdef_property::cdef_property_rep::check_get_access, cdef_property::cdef_property_rep::check_set_access): New methods, moved from cdef_property. (cdef_method::check_access): Move implementation to cdef_method::cdef_method_rep. (cdef_method::cdef_method_rep::check_access): New method, moved from cdef_method. (cdef_property::cdef_property_rep::wrap): New method. (cdef_method::cdef_method_rep::wrap): New method. * libinterp/octave-value/ov-classdef.cc (cdef_property::cdef_property_rep::get_value, cdef_property::cdef_property_rep::set_value): Add arguments (do_check_access and who) to control access checking and pass down to gripe utility function. (cdef_property::cdef_property_rep::check_get_access, (cdef_method::cdef_method_rep::execute): Likewise. cdef_property::cdef_property_rep::check_set_access): New methods, moved from cdef_property. (cdef_method::cdef_method_rep::check_access): New method, moved from cdef_method. (class_fevalStatic, octave_classdef_superclass_ref::do_multi_index_op, cdef_object_scalar::subsref, cdef_class::cdef_class_rep::subsref_meta, cdef_class::cdef_class_rep::construct_object): Do not check access, let cdef_method::execute handle it. (class_getConstant, cdef_object_scalar::subsref, cdef_object_scalar::subsasgn, cdef_class::cdef_class_rep::subsref_meta): Do not check get/set access, let cdef_property::get_value and cdef_property::set_value handle it. (cdef_class::cdef_class_rep::delete_object): Execute "delete" method without access checking.
author Michael Goffioul <michael.goffioul@gmail.com>
date Sun, 20 Jan 2013 23:03:17 -0500
parents 44f30dcd87e0
children
line wrap: on
line source

gnulib-hg = gnulib-hg