Call back into getTypeOfFuncClassEnumModule in getTypeOfVariableOrParameterOrProperty#20939
Merged
weswigham merged 1 commit intoJan 3, 2018
Merged
Conversation
…ameterOrProperty if valueDeclaration is irregular kind
RyanCavanaugh
approved these changes
Dec 29, 2017
sandersn
approved these changes
Jan 2, 2018
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
If the symbol's valueDeclaration is of an irregular kind.
Fixes #20826. The root of the issue was that the merged symbol for the
boldproperty had flags for bothPropertyandMethod- insidegetTypeOfSymbol, we take this to mean that the symbol should be looked at as aProperty, but the method signature was the authoritativevalueDeclaration, since it came first. This mismatch resulted ingetTypeOfVariableOrParameterOrPropertynot knowing how to look up the symbol's type correctly, resulting in it pulling the overall type of the symbol from the return type of the method signature (since that is at the declaration's.typemember). This changesgetTypeOfVariableOrParameterOrPropertyin the case of value declarations that it really did not know what was correct to now check if the symbol had other valid flags, and look at the symbol as that instead.