swift-ci
781d0fdfd9
Merge remote-tracking branch 'origin/main' into rebranch
2025-09-11 08:37:41 -07:00
Hamish Knight
9beb2e3e36
[Completion] Simplify opened function type in tryResolveDoubleAppliedFunction
2025-09-11 10:31:46 +01:00
swift-ci
95736f8e88
Merge remote-tracking branch 'origin/main' into rebranch
2025-09-10 01:39:11 -07:00
Hamish Knight
d3be024a54
[IDE] Introduce ReadyForTypeCheckingCallback
...
This avoids the layering violation of calling `bindExtensions` from
parser code.
2025-09-09 23:18:52 +01:00
Hamish Knight
92f2acaa67
[IDE] Remove redundant extension binding logic
...
I missed this in my previous patch that moved extension binding until
after we've mutated the AST for IDE inspection, this ad-hoc extension
binding logic is no longer necessary.
2025-09-09 23:18:52 +01:00
Anthony Latsis
e1450e011e
Manually merge remote-tracking branch 'origin/main' into rebranch
...
Conflicts:
* utils/build_swift/build_swift/defaults.py
2025-09-04 14:07:50 +01:00
Ahmed Elrefaey
9d1436c1c8
[IDE] [Signature Help] Add basic signature help request to SourceKit ( #83378 )
2025-09-04 10:09:02 +01:00
Ahmed Elrefaey
1bc96857a8
Merge pull request #82464 from a7medev/feat/full-documentation-in-code-completion
...
[IDE] Add full documentation to code completion result
2025-09-04 10:06:21 +01:00
swift-ci
35ae6d8866
Merge remote-tracking branch 'origin/main' into rebranch
2025-09-01 03:14:00 -07:00
Hamish Knight
0c3be92c10
Merge pull request #83652 from a7medev/feat/generalize-erase-archetypes
...
[IDE] Erase archetypes without declaration generic signature
2025-09-01 11:01:54 +01:00
swift-ci
69e3469a9f
Merge remote-tracking branch 'origin/main' into rebranch
2025-08-31 03:55:05 -07:00
Hamish Knight
d7fea157a1
[IDE] Remove fallback type-checking logic
...
This should no longer be necessary, rip it out.
2025-08-30 14:08:42 +01:00
Ahmed Mahmoud
491b3a0fbc
[IDE] Erase archetypes with no declaration generic signature
...
This generalization enables curried functions with generic parameters coming from the initial declaration to be printed with the archetype's upperbound rather than '_' unresolved type.
As an added benefit, T.self and T.Type for generic parameters now get shown as the upperbound of the generic parameter provided
2025-08-29 13:39:58 +03:00
swift-ci
5ed4b2a070
Merge remote-tracking branch 'origin/main' into rebranch
2025-08-28 13:06:19 -07:00
Hamish Knight
44ba366759
Merge pull request #83662 from hamishknight/unqualified-fallback
...
[Completion] Fall back to unqualified lookup on solver failure
2025-08-28 20:39:11 +01:00
swift-ci
9a46a42e72
Merge remote-tracking branch 'origin/main' into rebranch
2025-08-28 11:35:27 -07:00
Hamish Knight
4f010f0fc7
Merge pull request #83646 from a7medev/refactor/extract-code-completion-string-builder
...
[IDE] [Signature Help] Extract primitive `CodeCompletionString` creation into `CodeCompletionStringBuilder`
2025-08-28 19:35:21 +01:00
swift-ci
68a3d56c8d
Merge remote-tracking branch 'origin/main' into rebranch
2025-08-28 05:15:09 -07:00
Hamish Knight
0eae70cd84
Merge pull request #83961 from hamishknight/null-and-void
...
[IDE] Use `nullableTypesEqual` in `AfterPoundExprCompletion::sawSolutionImpl`
2025-08-28 13:06:53 +01:00
swift-ci
591d0502e6
Merge remote-tracking branch 'origin/main' into rebranch
2025-08-28 04:15:50 -07:00
Hamish Knight
4aeb7e1b52
[IDE] Use nullableTypesEqual in AfterPoundExprCompletion::sawSolutionImpl
...
Avoid crashing if we can't compute the expected type.
2025-08-28 00:33:54 +01:00
Hamish Knight
7e22297b71
[AST] Walk ErrorExpr's original expr in ASTWalker
...
We set an original expression on ErrorExpr for cases where we have
something semantically invalid that doesn't fit into the AST, but is
still something that the user has explicitly written. For example
this is how we represent unresolved dots without member names (`x.`).
We still want to type-check the underlying expression though since
it can provide useful diagnostics and allows semantic functionality
such as completion and cursor info to work correctly.
rdar://130771574
2025-08-27 15:27:06 +01:00
Ahmed Mahmoud
ec1b146581
[IDE] Move CodeCompletionString building into CodeCompletionStringBuilder
...
[IDE] Move primitive completion function label into CodeCompletionStringBuilder
[IDE] NFC: Remove unneeded string builder methods on CodeCompletionResultBuilder
[IDE] Move addValueBaseName into CodeCompletionStringBuilder
[IDE] Make CodeCompletionResultBuilder a CodeCompletionStringBuilder
[IDE] Explicitly pass DeclContext in CodeCompletionStringBuilder
[IDE] Reduce includes in CodeCompletionStringBuilder.h
2025-08-27 00:40:20 +03:00
Hamish Knight
a63ab6d161
[Completion] Fall back to unqualified lookup on solver failure
...
Even if the solver fails we can still do an unqualified lookup without
a contextual type.
2025-08-25 11:13:40 +01:00
swift-ci
3181aeff9a
Merge remote-tracking branch 'origin/main' into rebranch
2025-08-14 06:35:33 -07:00
Hamish Knight
6b2b28ae81
Merge pull request #83565 from hamishknight/synth
...
[IDE] Use LookUpConformanceInModule for synthesized extension requirement substitution
2025-08-14 14:23:30 +01:00
swift-ci
02ce1af46b
Merge remote-tracking branch 'origin/main' into rebranch
2025-08-13 15:58:04 -07:00
Hamish Knight
5e27e83456
Merge pull request #83613 from hamishknight/next-step
...
[IDE] Perform extension binding after AST mutation
2025-08-13 22:37:56 +01:00
Hamish Knight
d4f2e2ba10
[IDE] Use getProtocolSubstitutions in SynthesizedExtensionAnalyzer
...
Get the substitution map from the conformance rather than building it
from the base type.
2025-08-13 21:19:07 +01:00
Hamish Knight
da0525a6d2
[IDE] Avoid building redundant substitution map
...
We only care about the case where we're substituting into a protocol
extension, otherwise the substitution map is an identity map.
2025-08-13 21:19:07 +01:00
Hamish Knight
e1e0f72288
[IDE] Avoid redundant worklist visitor
...
This is unnecessary since the local conformances for a protocol
can only contain self-conformances, which we don't want to visit
anyway. This can just be a straightforward loop over the local
conformances.
2025-08-13 21:19:07 +01:00
Hamish Knight
831ed310a6
[IDE] Sink SubstitutionMap computation into handleRequirements
...
And check `is-><ProtocolType>` instead of `isExistentialType`. Should
be NFC.
2025-08-13 21:19:07 +01:00
Hamish Knight
8ccd658d9e
[IDE] NFC: Remove redundant use of getInnermostDeclContext
...
An extension decl is its own inner DeclContext.
2025-08-13 21:19:07 +01:00
Hamish Knight
02d2b4aa46
[IDE] Use LookUpConformanceInModule for synthesized extension requirement substitution
...
The extension may have requirements stating new conformance requirements
that aren't present in the underlying substitution map for the
conforming type.
rdar://152164768
2025-08-13 21:19:07 +01:00
swift-ci
11e8f15988
Merge remote-tracking branch 'origin/main' into rebranch
2025-08-12 17:17:23 -07:00
Anthony Latsis
26de61d826
[cmake] APIDigester, IDE: Specify Clang link dependencies
...
This way, CMake will propagate the interface compile definitions of the
Clang dependencies, which is important on Windows because Clang
visibility macro expansions, controlled by compile definitions, must
match between the Swift and Clang library.
See https://github.com/llvm/llvm-project/pull/108276/files#diff-4dd645a8b76bb3886a505258a8c2e598aeddea770e7b0a2b51689124a5ea6e9a .
2025-08-12 18:13:22 +01:00
Hamish Knight
deecd46e43
[IDE] Remove extension binding logic from typeCheckContextAt
...
Now that we correctly bind extensions after mutating the AST, this
is no longer necessary.
2025-08-10 23:49:03 +01:00
Hamish Knight
acf6375d46
Introduce BindExtensionsForIDEInspectionRequest
...
This allows us to lazily bind extensions after mutating the AST,
ensuring we don't prematurely kick the building of lookup tables.
2025-08-10 23:49:03 +01:00
swift-ci
3998a187f9
Merge remote-tracking branch 'origin/main' into rebranch
2025-07-30 09:36:41 -07:00
Anthony Latsis
fec049e5e4
Address llvm::PointerUnion::{is,get} deprecations
...
These were deprecated in
https://github.com/llvm/llvm-project/pull/122623 .
2025-07-29 18:37:48 +01:00
swift-ci
22d76fab11
Merge remote-tracking branch 'origin/main' into rebranch
2025-07-21 10:58:28 -07:00
Anthony Latsis
c1d794364b
Adjust code after changes to llvm::TrailingObjects API
...
See:
- https://github.com/llvm/llvm-project/pull/138970
- https://github.com/llvm/llvm-project/pull/144930
2025-07-19 01:48:18 +01:00
Hamish Knight
62f1303bca
[IDE] Fix assertion failure in PostfixCompletionCallback::Result::tryMerge
...
Unfortunately due to pre-checking multiple times the recorded
application level can change. Just OR the bits together.
2025-07-18 11:00:37 +01:00
Hamish Knight
f49b7604ae
[IDE] Refactor isUnappliedFunctionRef
...
Switch to using `hasAppliedSelf` to match the constraint system, and
flip the check to more accurately describe what we're checking which
is really "is application fully applied"?
2025-07-18 10:59:22 +01:00
swift-ci
90c32c2aad
Merge remote-tracking branch 'origin/main' into rebranch
2025-07-16 00:55:25 -07:00
Anthony Latsis
5620abbad8
Bridging: Bridge swift::CharSourceRange directly
2025-07-15 21:34:48 +01:00
Anthony Latsis
6eb5d7d857
Bridging: Bridge swift::SourceLoc directly
2025-07-15 21:33:06 +01:00
swift-ci
0c1d26f8c3
Merge remote-tracking branch 'origin/main' into rebranch
2025-07-10 00:57:35 -07:00
Hamish Knight
e631a37d0b
[Completion] Avoid using unbound contextual type in argument completion
...
Match the logic in `getTypeForCompletion` and avoid using an unbound
generic type as the expected type for a completion.
rdar://155420395
2025-07-09 12:57:36 +01:00
swift-ci
2b8612c203
Merge remote-tracking branch 'origin/main' into rebranch
2025-07-08 00:16:43 -07:00