Ben Barham
4187875ac6
[CodeComplete] Markup default arguments
...
Add `<callarg.default />` nodes to the annotated description of a
completion result for all arguments that have defaults.
Resolves rdar://85904660.
2021-12-15 13:30:57 +10:00
swift-ci
7ff906d730
Merge remote-tracking branch 'origin/main' into rebranch
2021-12-14 04:53:37 -08:00
Alex Hoppen
4fc9d015de
Merge pull request #40107 from ahoppen/pr/load-stdlib-in-setup
...
[Frontend] Load standard libarary in CompilerInstance::setup
2021-12-14 13:45:23 +01:00
Alex Hoppen
22f67e89a6
[SourceKit] Explicitly specify frontend action type when creating compiler invocation
...
Explicitly specify the frontend action to make sure we aren’t loading thes stdlib if the performed action is syntactic only.
2021-12-13 15:32:08 +01:00
Alex Hoppen
63c31033fc
[Frontend] Load standard libarary in CompilerInstance::setup
...
Instead of checking that the stdlib can be loaded in a variety of places, check it when setting up the compiler instance. This required a couple more checks to avoid loading the stdlib in cases where it’s not needed.
To be able to differentiate stdlib loading failures from other setup errors, make `CompilerInstance::setup` return an error message on failure via an inout parameter. Consume that error on the call side, replacing a previous, more generic error message, adding error handling where appropriate or ignoring the error message, depending on the context.
2021-12-13 15:32:08 +01:00
swift-ci
a7042191fd
Merge remote-tracking branch 'origin/main' into rebranch
2021-12-10 22:53:35 -08:00
Ellie Shin
2ab97edd6a
Merge pull request #40494 from apple/es-complete
...
[Module Aliasing] Add module aliasing option to swift-ide-test
Add module aliasing handling in code complete
Resolves rdar://86294338
2021-12-10 22:36:50 -08:00
Ellie Shin
93132b8ce3
Add module aliasing option to swift-ide-test
...
Add module aliasing handling in code complete
Resolves rdar://86294338
2021-12-09 15:36:55 -08:00
swift-ci
8abc3941d1
Merge remote-tracking branch 'origin/main' into rebranch
2021-12-07 08:14:19 -08:00
Alex Hoppen
1739c23a9b
Merge pull request #40158 from ahoppen/pr/cancel-code-completion
...
[SourceKit] Support cancellation of code completion like requests
2021-12-07 17:10:05 +01:00
swift-ci
c8b6479e28
Merge remote-tracking branch 'origin/main' into rebranch
2021-12-06 09:56:58 -08:00
Rintaro Ishizaki
94a372e8ca
[CodeCompletion] Use enums in bit fields as-is
...
We don't need to convert them from/to integer
2021-12-03 15:33:28 -08:00
Pavel Yaskevich
d0fc580623
[IDE] Skip complex closures while checking pattern bindings
...
This preserves previous behavior where multi-statement closures
where always type-checked without context.
2021-12-03 10:54:56 -08:00
Alex Hoppen
177ab6e8e7
[SourceKit] Support cancellation of code completion like requests
...
Essentially, just wire up cancellation tokens and cancellation flags for `CompletionInstance` and make sure to return `CancellableResult::cancelled()` when cancellation is detected.
rdar://83391488
2021-12-02 13:05:03 +01:00
swift-ci
9fb0628010
Merge remote-tracking branch 'origin/main' into rebranch
2021-12-01 04:13:53 -08:00
Ben Barham
7871205a0b
Merge pull request #40343 from bnbarham/structure-args
...
[SourceKit] Use stack of argument mappings when walking the syntax model
2021-12-01 22:07:01 +10:00
swift-ci
1d4f42450d
Merge remote-tracking branch 'origin/main' into rebranch
2021-12-01 01:13:14 -08:00
Ben Barham
6dd9b65eca
Merge pull request #40289 from ileitch/SR-13766-no-crash
...
[Index] Apply RelationContainedBy role to references contained by VarDecl.
2021-12-01 19:08:44 +10:00
Ben Barham
3ceb0a30df
[SourceKit] Use stack of argument mappings when walking the syntax model
...
A single map of arguments allows an argument to be added to an incorrect
node, eg. when the parent node isn't handled but the argument is mapped.
Use a stack of (parent, mappings) instead and check that the parent
matches to ensure this cannot happen.
2021-12-01 14:02:53 +10:00
swift-ci
bc71cf7c54
Merge remote-tracking branch 'origin/main' into rebranch
2021-11-30 15:21:46 -08:00
Ben Barham
9180e010c1
Merge pull request #40323 from bnbarham/lint-crash
...
[SourceKit] Add structure node for SubscriptExpr
2021-12-01 08:57:16 +10:00
swift-ci
ee96d2798c
Merge remote-tracking branch 'origin/main' into rebranch
2021-11-30 08:33:02 -08:00
Saleem Abdulrasool
349af3707d
Merge pull request #40305 from compnerd/semitruck
...
gardening: make c++98-compat-extra-semi an error
2021-11-30 08:18:36 -08:00
Ben Barham
cb81c1a1aa
[SourceKit] Add structure node for SubscriptExpr
...
Arguments in `SubscriptExpr` are visited since the recent `ArgumentList`
refactoring, but were being added to the containing `CallExpr`. Add a
node for the `SubscriptExpr` itself so that its argument is added there
instead of the `CallExpr`.
Also remove `key.nameoffset` and `key.namelength` from the response when
both are 0 to match the rest of the offsets and lengths.
Resolves rdar://85412164.
2021-11-30 19:56:48 +10:00
Ian Leitch
1ef1e2f829
[Index] Apply RelationContainedBy role to references contained by VarDecl.
...
This reverts commit abf6a30ba0 .
2021-11-30 10:54:14 +01:00
swift-ci
917aa99862
Merge remote-tracking branch 'origin/main' into rebranch
2021-11-30 00:33:02 -08:00
Pavel Yaskevich
bc54bc6bb7
Revert "[TypeChecker] SE-0326: Enable multi-statement closure inference by default"
2021-11-29 17:26:08 -08:00
swift-ci
97e55f52e8
Merge remote-tracking branch 'origin/main' into rebranch
2021-11-29 05:53:07 -08:00
Anthony Latsis
9fc633e0b8
Merge pull request #39652 from AnthonyLatsis/no-context
...
TypeResolution: Abolish TypeResolutionStage::Contextual
2021-11-29 16:44:27 +03:00
swift-ci
844c9e802c
Merge remote-tracking branch 'origin/main' into rebranch
2021-11-28 21:53:03 -08:00
Saleem Abdulrasool
910fbee14e
gardening: make c++98-compat-extra-semi an error
...
This cleans up 90 instances of this warning and reduces the build spew
when building on Linux. This helps identify actual issues when
building which can get lost in the stream of warning messages. It also
helps restore the ability to build the compiler with gcc.
2021-11-27 11:40:17 -08:00
Becca Royal-Gordon
1880118e70
Restructure getDisplayDecl() Sendable forcing
...
Move this into a helper function that lives in Sema, avoiding libswiftAST calling into libswiftSema.
2021-11-19 17:51:27 -08:00
Anthony Latsis
6e764aa26c
TypeResolution: Remove the last remaining use of 'forContextual'
2021-11-19 16:46:20 +03:00
swift-ci
6b368bda82
Merge remote-tracking branch 'origin/main' into rebranch
2021-11-17 10:33:34 -08:00
Pavel Yaskevich
63f355fde0
Merge pull request #39989 from xedin/more-diag-improvements-for-multi-stmt-closures
...
[TypeChecker] SE-0326: Enable multi-statement closure inference by default
2021-11-17 10:14:58 -08:00
Ben Barham
11f28196bc
Merge pull request #40168 from bnbarham/rebranch-failures
...
[rebranch] Fix compilation failures
2021-11-17 08:50:11 +10:00
Pavel Yaskevich
ceb6d7e2b0
[IDE] Skip complex closures while checking pattern bindings
...
This preserves previous behavior where multi-statement closures
where always type-checked without context.
2021-11-15 16:42:05 -08:00
Ben Barham
abf6a30ba0
Revert "[Index] Apply RelationContainedBy role to references contained by VarDecl."
2021-11-16 08:56:01 +10:00
Ben Barham
e139a2f2ea
[rebranch] Rename various functions to match new names in LLVM
...
llvm-project 601102d282d5e9a1429fea52ee17303aec8a7c10 renamed various
functions in `CharInfo.h` and `Lexer.h`. Rename uses in Swift.
2021-11-13 15:33:09 +10:00
Rintaro Ishizaki
73be942082
[CodeCompletion] NFC: Make enums in CodeCompletionResult scoped
2021-11-11 11:30:04 -08:00
Ben Barham
940322bc3d
Merge pull request #38883 from ileitch/SR-13766
...
[Index] Apply RelationContainedBy role to references contained by VarDecl.
2021-11-11 11:19:35 +10:00
Ian Leitch
887e71009a
[Index] Apply RelationContainedBy role to references contained by VarDecl.
...
References associated with a `VarDecl` had no `RelationContainedBy` role, resulting in "orphaned" references. From the perspective of identifying unused code (in tools using the index, like [Periphery](https://github.com/peripheryapp/periphery )), this made it impossible to identify that a variable's type, initializer and custom attributes are associated with the variable.
Resolves: [SR-13766](https://bugs.swift.org/browse/SR-13766 )
2021-11-10 09:43:24 +00:00
Ben Barham
f6db91e3f9
[SourceKit] Ignore references without a location
...
A keypath using dynamic member lookup results in various `KeyPathExpr`
that have components with no location. Ignore these and any other
references that have a missing location.
Resolves rdar://85237365
2021-11-10 14:52:46 +10:00
Alex Hoppen
86a1bfd340
Merge pull request #39631 from ahoppen/pr/cancel-completion-infrastructure
...
[CodeCompletion] Refactor how code completion results are returned to support cancellation
2021-11-09 13:35:18 +01:00
Rintaro Ishizaki
a87996c23d
[CodeCompletion] 'nil'/'[]'/'[:]' default arguments are "interesting"
...
func foo(arg: Int? = nil)
Code completion didn't sugget 'foo()' call pattern variant for this
function.
2021-11-05 22:29:14 -07:00
Alex Hoppen
c9f5331804
[SourceKit] Pass CompletionContext by reference to CompletionInstance
2021-10-29 12:00:12 +02:00
Alex Hoppen
76f2dbe5e8
[swift-ide-test] Use dedicated method for code completion on CompletionInstance instead of generic performOperation
2021-10-28 11:10:30 +02:00
Alex Hoppen
974829e290
[swift-ide-test] Use dedicated method for conformingMethodList on CompletionInstance instead of generic performOperation
2021-10-28 11:10:30 +02:00
Alex Hoppen
4ee9b0dec6
[swift-ide-test] Use dedicated method for typeContextInfo on CompletionInstance instead of generic performOperation
...
We are migrating all users of `performOperation` to dedicated methods on `CodeCompletionInstance`. Do the same in `swift-ide-test`.
2021-10-28 11:10:30 +02:00
Alex Hoppen
163ccf9184
[SourceKit] Move invocation of code completion second pass for code completion from SoruceKit to CompletionInstance
2021-10-28 11:10:30 +02:00