Private/protected properties not suggested by methods in class folder
Show older comments
I've included pictures rather than text in order to show the suggestion windows that open while you're typing.
As a minimal example, I've created a folder, @MyClass, with two files, MyClass.m and Func2.m, the latter of which is a method of MyClass prescribed in the methods block of the class definition, as outlined here.
First picture: The contents of MyClass.m. Note that as I define Func1(), I have suggestions for all 4 properties, including one that is protected and one that is private. The other function, Func2(), is declared here as well.

Second picture: The contents of Func2.m. Note that as I define it, I have suggestions only for the 2 public properties.

While there are no errors or warnings if I use the protected or private property, having the peace of mind with automatic suggestions for those properties is sorely missed. If this is a bug or oversight, I hope it's resolved soon (or perhaps already is in a release later than 2023b). Otherwise, is there a way to annotate Func2() (or the methods block it's declared in) to have full visibility of the private/protected properties when modified in the editor?
3 Comments
Walter Roberson
on 27 Dec 2024
Edited: Walter Roberson
on 27 Dec 2024
vals = Func2(self)
is not a function declaration; it is just extra code inserted into the methods section. I don't think it has any valid meaning at that point in the code.
Benjamin
on 27 Dec 2024
If this is a bug or oversight, I hope it's resolved soon (or perhaps already is in a release later than 2023b)
But even if they do, it could never be a complete fix. For user-defined classes, there is no robust way to implement an autocomplete, because of course the dot-indexing functionality is subject to modification by the user via dotReference. Obviously, no autocompletion logic that TMW could implement can anticipate what a user might do to overload built-in dot indexing.
Answers (1)
R2024b does not reproduce your issue - may have been fixed.


2 Comments
Walter Roberson
on 28 Dec 2024
I think it might be important that Func2 is in its own .m file
埃博拉酱
on 28 Dec 2024
@Walter Roberson Yes it is exactly in my test. It just CAN find the private property in R2024b.
Categories
Find more on Shifting and Sorting Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!