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

Method completion missing for inherited methods (possibly in edge case(s)?) #280

Closed
isc-tleavitt opened this issue May 16, 2023 · 5 comments

Comments

@isc-tleavitt
Copy link

Consider:

                set workMgr = $System.WorkMgr.%New()
                $$$ThrowOnError(workMgr.Queue("##class(Some.Class).SomeMethod"))
                do workMgr.WaitForComplete()

I don't get help with classmethods of $System.WorkMgr at all. (Maybe this is part of #123 depending on what you mean by "system"?)

So switch over to ##class(%SYSTEM.WorkMgr).%New() instead - the following is true in either case. If I type workMgr.Wait it won't offer WaitForComplete as an option.

Possible root cause:
WaitForComplete is inherited from %SYSTEM.AbstractWorkMgr, but %SYSTEM.WorkMgr has:
Class %SYSTEM.WorkMgr Extends AbstractWorkMgr

Not sure if the issue here is %SYSTEM or the context for short package names.

I also don't get completion help/assistance inside the $$$ThrowOnError macro, but that's probably a separate issue.

@isc-bsaviano
Copy link
Contributor

@isc-tleavitt This is a duplicate of #242. Some system classes don't have inheritance resolved in ^oddCOM and there's nothing this extension can do about that.

@isc-bsaviano isc-bsaviano closed this as not planned Won't fix, can't repro, duplicate, stale May 16, 2023
@isc-tleavitt
Copy link
Author

@isc-bsaviano thanks, I didn't see that. Do we have an upstream issue? (I can't find one in some quick searching.)

@isc-bsaviano
Copy link
Contributor

I don't think we do

@isc-tleavitt
Copy link
Author

Would you mind writing one up since you have more context?

@isc-tleavitt
Copy link
Author

I feel like even if we're not using ^oddCOM to build the class descriptor we could still put the data there for reference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants