Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#dim not proposing all members #242

Closed
isc-solon opened this issue Aug 19, 2022 · 2 comments
Closed

#dim not proposing all members #242

isc-solon opened this issue Aug 19, 2022 · 2 comments
Labels
wontfix This will not be worked on

Comments

@isc-solon
Copy link

When I enter something like this:

#dim ex as %Exception.SystemException
set ex = ##class(%Exception.SystemException).%New()
write ex.

The basic properties of the class aren't proposed, such as Name and Code (inherited from %Exception.CPPException). What is proposed are the methods NameGet() and CodeGet(). These are overridden methods in SystemException.

So it appears that #dim is not proposing members from the superclasses, only the current class.

@isc-bsaviano
Copy link
Contributor

isc-bsaviano commented Aug 22, 2022

@isc-solon This appears to be a weird edge case that specially effects %Exception.SystemException. I looked queried the %Dictionary.CompiledProperty table and can observe that property inheritance works, even for %Exception classes. For example, if you change %Exception.SystemException to %Exception.PythonException, you will see the inherited properties (although they will down in the list because members from the current class are always bubbled to the top).

@isc-bsaviano isc-bsaviano added the wontfix This will not be worked on label Aug 22, 2022
@isc-bsaviano
Copy link
Contributor

@isc-solon This is caused by %Exception.SystemException being a system class. For system classes the inheritance resolution is done in the kernel and is not in ^oddCOM, which is why the intellisense isn't showing up. There's nothing that I can do to get that information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants