Skip to content

[5.3][CodeCompletion] Wrap base expression with CodeCompletionExpr #32207

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

Conversation

rintaro
Copy link
Member

@rintaro rintaro commented Jun 5, 2020

Cherry-pick of #32184 into release/5.3

  • Explanation: Wrap base expression for member completion with CodeCompletionExpr (e.g. funcName(base.<HERE>)) so that the base expression can be type checked independently while the surrounding expression can be type checked with a "hole" type variable. This increases the chance of successful type checking, and improves overall completion quality of member completion
  • Scope: Postfix member completion after dot
  • Risk: Mid. This fix changes the mechanism of member completion
  • Issues: rdar://problem/63965160
  • Testing: Added regression test cases. Passed the current regression test suite and stress testing suite
  • Reviewer: Pavel Yaskevich (@xedin)

@rintaro rintaro added the r5.3 label Jun 5, 2020
@rintaro rintaro requested a review from a team as a code owner June 5, 2020 17:33
@rintaro
Copy link
Member Author

rintaro commented Jun 5, 2020

@swift-ci Please Build Toolchain macOS Platform

@rintaro
Copy link
Member Author

rintaro commented Jun 5, 2020

@swift-ci Please test

@swift-ci
Copy link
Contributor

swift-ci commented Jun 5, 2020

macOS Toolchain
Download Toolchain
Git Sha - 76f75ce9c780f1b19fa5ab58a9d10d03b0c558c0

Install command
tar -zxf swift-PR-32207-526-osx.tar.gz --directory ~/

For example for:

  funcName(base.<HERE>)

Wrap 'base' with 'CodeCompletionExpr' so that type checker can check
'base' independently without preventing the overload choice of 'funcName'.

This increases the chance of successful type checking.

rdar://problem/63965160
(cherry picked from commit 3ec250f)
@rintaro rintaro force-pushed the 5.3-ide-completion-rdar63965160 branch from 76f75ce to b9ad518 Compare June 5, 2020 23:02
@rintaro
Copy link
Member Author

rintaro commented Jun 5, 2020

@swift-ci Please Build Toolchain macOS Platform

@rintaro
Copy link
Member Author

rintaro commented Jun 5, 2020

@swift-ci Please test

@swift-ci
Copy link
Contributor

swift-ci commented Jun 5, 2020

Build failed
Swift Test Linux Platform
Git Sha - 76f75ce9c780f1b19fa5ab58a9d10d03b0c558c0

@swift-ci
Copy link
Contributor

swift-ci commented Jun 5, 2020

Build failed
Swift Test OS X Platform
Git Sha - 76f75ce9c780f1b19fa5ab58a9d10d03b0c558c0

@rintaro
Copy link
Member Author

rintaro commented Jun 6, 2020

@rintaro
Copy link
Member Author

rintaro commented Jun 10, 2020

Testing again to ensure nothing is broken.
@swift-ci Please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - b9ad518

@rintaro
Copy link
Member Author

rintaro commented Jun 11, 2020

@swift-ci Please test Linux

@rintaro
Copy link
Member Author

rintaro commented Jun 11, 2020

@swift-ci Please nominate

@tkremenek tkremenek merged commit 3718981 into swiftlang:release/5.3 Jun 11, 2020
@rintaro rintaro deleted the 5.3-ide-completion-rdar63965160 branch June 11, 2020 18:08
@AnthonyLatsis AnthonyLatsis added swift 5.3 🍒 release cherry pick Flag: Release branch cherry picks labels Jan 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🍒 release cherry pick Flag: Release branch cherry picks swift 5.3
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants