1,847
edits
(→Features that are not implemented: Property Validation Functions and links) |
|||
(11 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
=== Features | === Supported Features === | ||
==== Properties ==== | |||
Classdef properties are supported but not all attributes are implemented. | Classdef properties are supported but not all attributes are implemented. | ||
Line 142: | Line 60: | ||
|} | |} | ||
=== Open Bug Reports for Issues | ==== Methods ==== | ||
Classdef methods are supported but not all attributes are fully implemented. | |||
{| class="wikitable" | |||
|- | |||
! style="text-align:left;"| Attribute | |||
! Support | |||
! Notes | |||
|- | |||
|Abstract | |||
|Partial | |||
|See bug report {{bug|51377}} | |||
|- | |||
|Access | |||
|Yes | |||
| | |||
|- | |||
|Hidden | |||
|Yes | |||
| | |||
|- | |||
|Sealed | |||
|Yes | |||
| | |||
|- | |||
|Static | |||
|Yes | |||
| | |||
|} | |||
=== Features that are not implemented === | |||
==== [https://www.mathworks.com/help/matlab/enumeration-classes.html enumeration] ==== | |||
Octave should be able to parse the enumeration section of a classdef definition but nothing is done with it. Progress on this feature is tracked in bug report {{bug|44582}}. | |||
==== [https://www.mathworks.com/help/matlab/matlab_oop/learning-to-use-events-and-listeners.html events and listeners] ==== | |||
Octave should be able to parse the events section of a classdef definition but nothing is done with it. Progress on this feature is tracked in bug report {{bug|56194}}. | |||
==== [https://www.mathworks.com/help/matlab/matlab_oop/property-validator-functions.html Property Validation Functions] ==== | |||
=== Open Bug Reports for Other Issues === | |||
Issues with basic classdef functionality | ==== Issues with basic classdef functionality ==== | ||
* [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 | ||
Line 162: | Line 123: | ||
* [https://savannah.gnu.org/bugs/?55766 55766] properties function should not return Hidden properties | * [https://savannah.gnu.org/bugs/?55766 55766] properties function should not return Hidden properties | ||
* [https://savannah.gnu.org/bugs/?55746 55746] interpreter fails to instantiate classdef with classdef properties | * [https://savannah.gnu.org/bugs/?55746 55746] interpreter fails to instantiate classdef with classdef properties | ||
* [https://savannah.gnu.org/bugs/?52582 52582] using static method to initialize property value fails | |||
* [https://savannah.gnu.org/bugs/?45833 45833] support load/save of classdef objects | |||
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 | ||
Arrays of classdef objects | ==== Arrays of classdef objects ==== | ||
* [https://savannah.gnu.org/bugs/?44665 44665] error in concatenation of classdef objects | |||
* [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 | ||
Debugger (fixes for these are in progress) | ==== Debugger (fixes for these are in progress) ==== | ||
* [https://savannah.gnu.org/bugs/?46451 46451] unable to set breakpoints within classdef classes | * [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/?45404 45404] Breakpoints cannot be set in classdef methods or +package function files | ||
Lower-priority issues | ==== 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/?55488 55488] Invalid use of colon char as classdef function's argument when subsref is overwritten | ||
Line 184: | Line 149: | ||
* [https://savannah.gnu.org/bugs/?53811 53811] cellfun does not find overloaded function with function name argument | * [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/?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 | * <strike>[https://savannah.gnu.org/bugs/?52614 52614] setting properties of classdef object during construction with inheritance</strike> | ||
* [https://savannah.gnu.org/bugs/?52582 52582] Dependent constant properties in classdef errors: no such file | * [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/?52123 52123] Indirect memory leak in cdef_manager::initialize () | ||
Line 196: | Line 161: | ||
* [https://savannah.gnu.org/bugs/?55755 55755] mxGetProperty does not work with properties marked as Dependent | * [https://savannah.gnu.org/bugs/?55755 55755] mxGetProperty does not work with properties marked as Dependent | ||
* [https://savannah.gnu.org/bugs/?55767 55767] classdef property should not be the same as classdef name (at least for Matlab compatibility) | * [https://savannah.gnu.org/bugs/?55767 55767] classdef property should not be the same as classdef name (at least for Matlab compatibility) | ||
* [https://savannah.gnu.org/bugs/?44035 44035] unable to subclass built-in types | |||
Documentation | ==== Documentation ==== | ||
* [https://savannah.gnu.org/bugs/?50729 50729] Improve OOP documentation | * [https://savannah.gnu.org/bugs/?50729 50729] Improve OOP documentation |