Classdef: Difference between revisions

Jump to navigation Jump to search
80 bytes removed ,  23 January 2019
No edit summary
Line 143: Line 143:
=== Open Bug Reports ===
=== Open Bug Reports ===


* Delete method for handle classes
Delete method for handle classes


** [https://savannah.gnu.org/bugs/?46497 46497] classdef: delete destructor method is not called when clearing handle class
* [https://savannah.gnu.org/bugs/?46497 46497] classdef: delete destructor method is not called when clearing handle class
** [https://savannah.gnu.org/bugs/?53844 53844] handle class: delete destructor method cannot access class properties
* [https://savannah.gnu.org/bugs/?53844 53844] handle class: delete destructor method cannot access class properties


* Function handles and classdef methods
Function handles and classdef methods


** [https://savannah.gnu.org/bugs/?48802 48802] function overload resolution on function handles fails on classdef methods defined in class body
* [https://savannah.gnu.org/bugs/?48802 48802] function overload resolution on function handles fails on classdef methods defined in class body
** [https://savannah.gnu.org/bugs/?46659 46659] classdef: cannot create handles to functions in +package
* [https://savannah.gnu.org/bugs/?46659 46659] classdef: cannot create handles to functions in +package
** [https://savannah.gnu.org/bugs/?45351 45351] function handles to classdef methods not supported
* [https://savannah.gnu.org/bugs/?45351 45351] function handles to classdef methods not supported
** [https://savannah.gnu.org/bugs/?51709 51709] Creating function handle to static methods
* [https://savannah.gnu.org/bugs/?51709 51709] Creating function handle to static methods
** [https://savannah.gnu.org/bugs/?47680 47680] classdef @ operator to overrided superclass methods
* [https://savannah.gnu.org/bugs/?47680 47680] classdef @ operator to overrided superclass methods


* Issues with basic classdef functionality
Issues with basic classdef functionality


** [https://savannah.gnu.org/bugs/?42510 42510] methods() does not return functions defined in classdef file
* [https://savannah.gnu.org/bugs/?42510 42510] methods() does not return functions defined in classdef file
** [https://savannah.gnu.org/bugs/?51659 51659] Calling 'methods' on self causes syntax error
* [https://savannah.gnu.org/bugs/?51659 51659] Calling 'methods' on self causes syntax error
** [https://savannah.gnu.org/bugs/?53614 53614] classdef properties() function not implemented
* [https://savannah.gnu.org/bugs/?53614 53614] classdef properties() function not implemented
** [https://savannah.gnu.org/bugs/?46387 46387] Display class properties
* [https://savannah.gnu.org/bugs/?46387 46387] Display class properties
** [https://savannah.gnu.org/bugs/?48682 48682] print_usage fails within classdef block
* [https://savannah.gnu.org/bugs/?48682 48682] print_usage fails within classdef block
** [https://savannah.gnu.org/bugs/?55223 55223] can't subsasgn with 2-level index (curly braces + parentheses) with classdef handle
* [https://savannah.gnu.org/bugs/?55223 55223] can't subsasgn with 2-level index (curly braces + parentheses) with classdef handle
** [https://savannah.gnu.org/bugs/?49434 49434] which returns "built-in function" for classdef m-file
* [https://savannah.gnu.org/bugs/?49434 49434] which returns "built-in function" for classdef m-file
** [https://savannah.gnu.org/bugs/?48041 48041] classdef: `help myclass` messes up `help @myclass/method`
* [https://savannah.gnu.org/bugs/?48041 48041] classdef: `help myclass` messes up `help @myclass/method`
** [https://savannah.gnu.org/bugs/?43047 43047] help() does not see classdef files
* [https://savannah.gnu.org/bugs/?43047 43047] help() does not see classdef files
** [https://savannah.gnu.org/bugs/?42620 42620] exist() does not use "class" argument
* [https://savannah.gnu.org/bugs/?42620 42620] exist() does not use "class" argument
** [https://savannah.gnu.org/bugs/?53874 53874] doc_cache_create doesnt handle classdef documentation
* [https://savannah.gnu.org/bugs/?53874 53874] doc_cache_create doesnt handle classdef documentation
** [https://savannah.gnu.org/bugs/?52096 52096] meta.class.fromName throws error when class name not found.
* [https://savannah.gnu.org/bugs/?52096 52096] meta.class.fromName throws error when class name not found.
** [https://savannah.gnu.org/bugs/?51377 51377] Parse error for abstract methods
* [https://savannah.gnu.org/bugs/?51377 51377] Parse error for abstract methods
** [https://savannah.gnu.org/bugs/?45457 45457] Incorrect behavior of constant classdef properties referencing other constant properties in the same block
* [https://savannah.gnu.org/bugs/?45457 45457] Incorrect behavior of constant classdef properties referencing other constant properties in the same block
** [https://savannah.gnu.org/bugs/?44665 44665] error in concatenation of classdef objects
* [https://savannah.gnu.org/bugs/?44665 44665] error in concatenation of classdef objects
** [https://savannah.gnu.org/bugs/?44582 44582] classdef: missing support for enumeration
* [https://savannah.gnu.org/bugs/?44582 44582] classdef: missing support for enumeration
** [https://savannah.gnu.org/bugs/?44036 44036] interpreter does not recognize classdef (syntax error)
* [https://savannah.gnu.org/bugs/?44036 44036] interpreter does not recognize classdef (syntax error)
** [https://savannah.gnu.org/bugs/?48693 48693] classdef subsref method is not called with correct nargout value
* [https://savannah.gnu.org/bugs/?48693 48693] classdef subsref method is not called with correct nargout value


* Classdef and +package directories
Classdef and +package directories


** [https://savannah.gnu.org/bugs/?54941 54941] interpreter cannot find methods in files of classdefs in packages
* [https://savannah.gnu.org/bugs/?54941 54941] interpreter cannot find methods in files of classdefs in packages
** [https://savannah.gnu.org/bugs/?54273 54273] Can't access properties of class in package in function defined in class
* [https://savannah.gnu.org/bugs/?54273 54273] Can't access properties of class in package in function defined in class


* Arrays of classdef objects
Arrays of classdef objects


** [https://savannah.gnu.org/bugs/?53906 53906] Cannot make an object array with square brackets
* [https://savannah.gnu.org/bugs/?53906 53906] Cannot make an object array with square brackets
** [https://savannah.gnu.org/bugs/?47755 47755] Access to object arrays
* [https://savannah.gnu.org/bugs/?47755 47755] Access to object arrays
** [https://savannah.gnu.org/bugs/?47241 47241] classdef: assigning property of handle object in object array constructs new object
* [https://savannah.gnu.org/bugs/?47241 47241] classdef: assigning property of handle object in object array constructs new object


* I/O issues
I/O issues


** [https://savannah.gnu.org/bugs/?55497 55497] No or wrong default file name when saving a classdef file
* [https://savannah.gnu.org/bugs/?55497 55497] No or wrong default file name when saving a classdef file
** [https://savannah.gnu.org/bugs/?45833 45833] support load/save of classdef objects
* [https://savannah.gnu.org/bugs/?45833 45833] support load/save of classdef objects
Debugger


* Debugger
* [https://savannah.gnu.org/bugs/?46451 46451] unable to set breakpoints within classdef classes
* [https://savannah.gnu.org/bugs/?45404 45404] Breakpoints cannot be set in classdef methods or +package function files


** [https://savannah.gnu.org/bugs/?46451 46451] unable to set breakpoints within classdef classes
Lower-priority issues
** [https://savannah.gnu.org/bugs/?45404 45404] Breakpoints cannot be set in classdef methods or +package function files


* Lower-priority issues ====
* [https://savannah.gnu.org/bugs/?55488 55488] Invalid use of colon char as classdef function's argument when subsref is overwritten
* [https://savannah.gnu.org/bugs/?55487 55487] ismethod of custom classdefs always returning false
* [https://savannah.gnu.org/bugs/?54966 54966] Error when assigning array to an object implementing subsasgn() subscripted using "{}"
* [https://savannah.gnu.org/bugs/?54783 54783] subsasgn call when the subscripted expression contains the end keyword
* [https://savannah.gnu.org/bugs/?54028 54028] copy of non-handle class instance is not deep
* [https://savannah.gnu.org/bugs/?53811 53811] cellfun does not find overloaded function with function name argument
* [https://savannah.gnu.org/bugs/?52989 52989] classdef: missing error messages on multiply defined properties
* [https://savannah.gnu.org/bugs/?52614 52614] setting properties of classdef object during construction with inheritance
* [https://savannah.gnu.org/bugs/?52582 52582] Dependent constant properties in classdef errors: no such file
* [https://savannah.gnu.org/bugs/?52123 52123] Indirect memory leak in cdef_manager::initialize ()
* [https://savannah.gnu.org/bugs/?51285 51285] max_recursion_depth error in classdef constructor
* [https://savannah.gnu.org/bugs/?50395 50395] subclassing a class that is also defined as a variable fails
* [https://savannah.gnu.org/bugs/?50011 50011] failure to report error on conflicting methods for classdef
* [https://savannah.gnu.org/bugs/?49379 49379] classdef constructor: .argn. loses first argument, inputname(n) returns inputname(n+1)
* [https://savannah.gnu.org/bugs/?46652 46652] whos bytes property not right for classdef classes
* [https://savannah.gnu.org/bugs/?45893 45893] classdef properties are not reloaded when file is updated
* [https://savannah.gnu.org/bugs/?44934 44934] classdef parser prints extra newline when failing to parse bad classdef file
* [https://savannah.gnu.org/bugs/?44643 44643] classdef handle object can go into an recursive loop with isequal(obj1,obj2) if both are self-referential
* [https://savannah.gnu.org/bugs/?44035 44035] classdef is unable to to subclass double


** [https://savannah.gnu.org/bugs/?55488 55488] Invalid use of colon char as classdef function's argument when subsref is overwritten
Documentation
** [https://savannah.gnu.org/bugs/?55487 55487] ismethod of custom classdefs always returning false
** [https://savannah.gnu.org/bugs/?54966 54966] Error when assigning array to an object implementing subsasgn() subscripted using "{}"
** [https://savannah.gnu.org/bugs/?54783 54783] subsasgn call when the subscripted expression contains the end keyword
** [https://savannah.gnu.org/bugs/?54028 54028] copy of non-handle class instance is not deep
** [https://savannah.gnu.org/bugs/?53811 53811] cellfun does not find overloaded function with function name argument
** [https://savannah.gnu.org/bugs/?52989 52989] classdef: missing error messages on multiply defined properties
** [https://savannah.gnu.org/bugs/?52614 52614] setting properties of classdef object during construction with inheritance
** [https://savannah.gnu.org/bugs/?52582 52582] Dependent constant properties in classdef errors: no such file
** [https://savannah.gnu.org/bugs/?52123 52123] Indirect memory leak in cdef_manager::initialize ()
** [https://savannah.gnu.org/bugs/?51285 51285] max_recursion_depth error in classdef constructor
** [https://savannah.gnu.org/bugs/?50395 50395] subclassing a class that is also defined as a variable fails
** [https://savannah.gnu.org/bugs/?50011 50011] failure to report error on conflicting methods for classdef
** [https://savannah.gnu.org/bugs/?49379 49379] classdef constructor: .argn. loses first argument, inputname(n) returns inputname(n+1)
** [https://savannah.gnu.org/bugs/?46652 46652] whos bytes property not right for classdef classes
** [https://savannah.gnu.org/bugs/?45893 45893] classdef properties are not reloaded when file is updated
** [https://savannah.gnu.org/bugs/?44934 44934] classdef parser prints extra newline when failing to parse bad classdef file
** [https://savannah.gnu.org/bugs/?44643 44643] classdef handle object can go into an recursive loop with isequal(obj1,obj2) if both are self-referential
** [https://savannah.gnu.org/bugs/?44035 44035] classdef is unable to to subclass double


* Documentation
* [https://savannah.gnu.org/bugs/?50729 50729] Improve OOP documentation
 
* [https://savannah.gnu.org/bugs/?47908 47908] Octave:classdef-to-struct not documented in warning_ids.m
** [https://savannah.gnu.org/bugs/?50729 50729] Improve OOP documentation
* [https://savannah.gnu.org/bugs/?44590 44590] More documentation for the current status of classdef implementation
** [https://savannah.gnu.org/bugs/?47908 47908] Octave:classdef-to-struct not documented in warning_ids.m
** [https://savannah.gnu.org/bugs/?44590 44590] More documentation for the current status of classdef implementation


=== Classdef examples in the wild ===
=== Classdef examples in the wild ===

Navigation menu