forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 344
[lldb] Wire-up TypeSystemSwiftTypeRef::GetNumChildren #2200
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
Merged
kastiglione
merged 13 commits into
swift/main
from
lldb-Wire-up-TypeSystemSwiftTypeRef-GetNumChildren
Dec 9, 2020
Merged
Changes from all commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
b82ad6d
[lldb] Wire-up TypeSystemSwiftTypeRef::GetNumChildren
kastiglione 79f7869
add EnumTypeInfo handling in GetNumChildren
kastiglione 3331e29
fallback to SwiftASTContext for unsupported cases
kastiglione 9e41188
use fallback for any failed data dependency
kastiglione e2381ff
handle OpaqueExistential's three payload fields
kastiglione 58a76c3
tweak comment
kastiglione 6449eb1
call VALIDATE_AND_RETURN only when not using SwiftASTContext
kastiglione 92d02fe
hardcode function types to zero children
kastiglione 3b030b8
change Equivalent<uint32_t> to assert >=
kastiglione 9af8222
log GetNumChildren fallback
kastiglione 1cb9b37
use Equivalent(Optional<T>, Optional<T>)
kastiglione dc3fcf9
tweak substrs in TestLibraryResilient.py
kastiglione a5d4945
move function type handling into SwiftLanguageRuntimeImpl
kastiglione File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is perhaps indicative of issues that need to be solved in this PR, or in follow ups.
ContainsTwoInts
is defined as:This was previously formatted as
container = (other = 10)
but with these changes it's formatted as:The same data is printed, but the difference is (presumably) that
ShouldPrintAsOneLiner
is no longer true. Note that despite there being two children in the type, lldb prints only one, the public propertyother
.Based on my debugging of other discrepancies, my guess is that
GetNumChildren
now returns 2 instead of 1, which then causesShouldPrintAsOneLiner
to return false.What I think should be possible now, is for lldb to print both properties,
wrapped
andother
. I'll take a look tomorrow to see if theTypeRef
implementation ofGetChildCompilerTypeAtIndex
is excludingwrapped
to mirror the behavior ofSwiftASTContext
. If that is the case, it seems like something we should fix, showing private properties too would be an improvement.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds great! Thanks for the thoughtful analysis.