Alex Hoppen
222739a71d
Merge pull request #70255 from ahoppen/ahoppen/rename-refactoring
...
[Rename] Collection of improvements to make syntactic rename easier to read
2023-12-06 19:46:01 -08:00
Alex Hoppen
e538a5ed61
[SourceKit] Merge RenameLoc and RenameLocation
...
It’s easier to understand the code if we don’t have these two nearly, but not quite, identical types.
2023-12-06 14:33:14 -08:00
Alex Hoppen
d4ee4fa308
[SourceKit] Refactor RelatedIdentsInfo
...
Remove unnecessary `ArrayRef` wrapping and introduce a struct instead of a `std::pair`.
2023-12-06 14:32:13 -08:00
Doug Gregor
fbd5cb42cd
Merge pull request #70247 from DougGregor/body-macro-as-brace-stmt
...
Macro expansion refactoring for preamble and body macros
2023-12-05 21:47:05 -08:00
Alex Hoppen
db8ca19a24
Merge pull request #70014 from ahoppen/ahoppen/some-any-completion
...
[CodeCompletion] Add keyword completion for 'some', 'any', 'repeat', and 'each'
2023-12-05 16:24:05 -08:00
Doug Gregor
2b7c70997b
Macro expansion refactoring for preamble and body macros
2023-12-05 13:30:35 -08:00
Alex Hoppen
a710111001
[SourceKit] Support building sourcekitd without building swift-syntax
...
This allows building sourcekitd and swift-refactor with `SWIFT_BUILD_SWIFT_SYNTAX=NO`. In these builds, the `relatedidents` and `find-syntactic-rename-ranges` requests will always return an error.
2023-12-04 19:14:01 -08:00
Alex Hoppen
9cb2a248c6
[CodeCompletion] Add keyword completion for 'some', 'any', 'repeat', and 'each'
...
The implementation is not 100% perfect but I don’t think it’s worth putting too much effort into it passing more information down in the parser if 'repeat' and 'each' are valid if we are going to remove the current parser anyway.
rdar://95725895
2023-12-04 15:20:05 -08:00
Alex Hoppen
f408619ddc
Address Hamish’s review comments
2023-11-27 14:17:04 -08:00
Alex Hoppen
1047328b63
[SourceKit] Lowercase members of ResolvedLoc
...
This type will get exposed to Swift and the members should be lowercase so that they read nicely in Swift.
2023-11-16 16:05:08 -08:00
Alex Hoppen
899368037c
[SourceKit] Return results from rename using return values instead of consumers
...
This makes it a lot easier to follow the code.
2023-11-16 16:05:08 -08:00
Alex Hoppen
d9eef8c229
[SourceKit] Remove IsNonProtocolType parameter from rename locations
...
The parameter was never checked anywhere.
2023-11-16 16:05:07 -08:00
Alex Hoppen
d095d0a186
[SourceKit] Remove newName from RenameLoc
...
We should (and do) have one new name for the entire rename operation, not a separate new name for different positions at which the renamed symbol occurs.
2023-11-16 16:05:07 -08:00
Alex Hoppen
bc3c8fc47a
[SourceKit] In related identifiers, directly construct an array of ranges instead of putting them in an array first
...
After implementing related identifiers in terms of rename, this step seems to no longer be necessary.
2023-11-16 16:05:07 -08:00
Alex Hoppen
ada3076628
[SourceKit] Share implemention of local rename and related idents
...
Local rename and related identifiers were sufficiently similar that we can implement related identifiers in terms of local rename.
2023-11-16 16:05:07 -08:00
Alex Hoppen
9ccb2ef65c
Merge pull request #69784 from ahoppen/ahoppen/remove-syntacticrename
...
Remove the `source.request.syntacticrename` request
2023-11-14 14:14:07 -08:00
Doug Gregor
89bda715ce
Merge pull request #69840 from DougGregor/macro-role-metaprogramming
...
[Macros] Macro-metaprogram macro roles
2023-11-14 11:51:50 -08:00
Doug Gregor
ffa5ba7ce3
More macro metaprogramming for macro roles
2023-11-14 09:20:15 -08:00
Doug Gregor
b53026d8d4
[Macros] Macro-metaprogram macro roles
...
Introduce X-macros for the various macro roles, and use them to
macro-metaprogram a lot of boilerplate involved with introducing new
macro roles.
2023-11-13 22:37:54 -08:00
Alex Hoppen
b598baf7f8
Merge pull request #69783 from ahoppen/ahoppen/rename-cleanup-1
...
Remove two pImpl abstraction layers in rename
2023-11-13 14:58:05 -08:00
Alex Hoppen
4c1d875cf8
Remove the syntacticrename request
...
`source.request.find-syntactic-rename-ranges` should be used instead.
2023-11-10 11:46:47 -08:00
Alex Hoppen
e6deb0b84b
[SourceKit] Remove pImpl abstraction pattern for RequestRenameRangeConsumer
2023-11-10 11:41:01 -08:00
Alex Hoppen
d5edf34d7f
Merge pull request #69573 from tristanlabelle/lsp-no-memmap
...
Avoid memory mapping source files opened by SourceKit
2023-11-02 08:37:20 -07:00
Tristan Labelle
fb8c4182d3
Avoid memory mapping source files opened by SourceKit.
2023-11-01 11:33:33 -04:00
Alex Hoppen
fdc8e7d387
Merge pull request #69294 from ahoppen/ahoppen/semantic-tokens
...
[SourceKit] Add a request to get the semantic tokens of a file
2023-10-24 08:07:41 -07:00
Alex Hoppen
2507e0e9ee
[SourceKit] Support getting semantic tokens for macro expansion buffers
2023-10-23 11:06:49 -07:00
Alex Hoppen
4bc03f8392
[SourceKit] Add a request to get the semantic tokens of a file
...
We need this request for semantic highlighting in LSP. Previously, we were getting the semantic tokens using a 0,0 edit after a document update notification but that will no longer be possible if we open the documents in syntactic only mode.
2023-10-20 10:38:08 -07:00
Simon Barinka
23cde9b2e0
[SourceKit] Move the option to IndexToStore request
2023-10-20 12:55:41 +02:00
Simon Barinka
ae570850e0
[SourceKit] Fix formatting
2023-10-09 21:16:13 +02:00
Simon Barinka
b13a7f5829
[SourceKit] Add option to index local symbols to IndexSource request
...
Adds optional `key.should_index_locals` flag to the SourceKit `source.request.indexsource` request.
If true, the response includes symbol info for both locals and globals.
2023-10-09 20:59:43 +02:00
swift-ci
17a5d30d54
Merge remote-tracking branch 'origin/main' into rebranch
2023-09-15 16:14:15 -07:00
Hamish Knight
746128c7aa
Use StringMap in EditorDiagConsumer
...
As noted by the comment, storing a `StringRef` is
indeed brittle. Update to use a StringMap.
rdar://111589090
2023-09-15 18:27:49 +01:00
swift-ci
0407c3d3b2
Merge remote-tracking branch 'origin/main' into rebranch
2023-09-06 13:34:53 -07:00
Allan Shortlidge
0dd8f4c492
AST: Introduce abstraction for extension/type decl inheritance clauses.
...
Wrap the `InheritedEntry` array available on both `ExtensionDecl` and
`TypeDecl` in a new `InheritedTypes` class. This class will provide shared
conveniences for working with inherited type clauses. NFC.
2023-09-06 10:41:57 -07:00
swift-ci
fecdc7961c
Merge remote-tracking branch 'origin/main' into rebranch
2023-08-28 10:37:07 -07:00
Artem Chikin
e0275f4f0e
[Explicit Module Builds] Do not attempt to re-load module dependency from
...
interface for index.
An explicit module build compile is unable to do so because it does not have
access to the interfaces. Doing this in the first place is a workaround for a
known bug, which will require to be solved at the root cause instead (e.g.
Deserialization Safety feature).
Resolves rdar://113165898
2023-08-25 16:34:09 -07:00
Evan Wilde
11fcbbeea2
Cleaning up more deprecation warnings
...
Pointer `llvm/Support/Host.h` at `llvm/TargetParser/Host.h`.
Replacing deprecated API `startswith_insensitive` with replacement
`starts_with_insensitive`.
2023-08-10 16:19:24 -07:00
Alex Hoppen
bba2f476ab
Merge pull request #67613 from barinsim/my-main
...
[SourceKit] Report cursor info information for literals
2023-08-08 20:54:00 -07:00
Simon Barinka
87878c5f35
[SourceKit] Address minor PR comments
2023-08-03 09:41:25 +02:00
Simon Barinka
76e01b8481
[SourceKit] Address minor PR comments
2023-08-03 09:36:29 +02:00
Simon Barinka
e5fa3f9d2d
[SourceKit] Fix formatting issues
2023-08-03 00:53:46 +02:00
Simon Barinka
06af7494e9
[SourceKit] Report type decl info instead of hidden inits
2023-08-02 23:40:08 +02:00
Simon Barinka
d0cf2e4bf3
[SourceKit] Fix formatting issues
2023-08-01 13:26:14 +02:00
Simon Barinka
e32a20a55c
[SourceKit] Report init info instead of the type decl info
...
Addresses PR review comments.
2023-08-01 12:51:39 +02:00
Simon Barinka
fcd084f9dd
[SourceKit] Report cursor info information for literals
...
Adds literals support for the CursorInfo request.
Previously CursorInfo just returned error for literals.
Implements issue #57725
2023-07-30 14:22:08 +02:00
Ben Barham
6e93ac1627
Merge pull request #66958 from DavidGoldman/main
...
Add source.request.index_to_store to sourcekitd
2023-07-12 13:53:33 -07:00
David Goldman
af81adb63c
sourcekitd source.request.index_to_store fixes - new test and minor changes
2023-06-30 15:55:43 -04:00
David Goldman
d618233166
Add source.request.index_to_store to sourcekitd
...
This requests performs an index store index of the given file using the
given index store path and index unit output path. All other options are
derived from the index store related compiler flags.
This will allow IDEs like Xcode to index the file directly inside of
sourcekitd and potentially reuse an already built AST.
2023-06-28 14:24:20 -04:00
Holly Borla
725374e0d8
[Macros] Implement attached extension macros.
2023-06-27 21:22:12 -07:00
Evan Wilde
250082df25
[NFC] Reformat all the LLVMs
...
Reformatting everything now that we have `llvm` namespaces. I've
separated this from the main commit to help manage merge-conflicts and
for making it a bit easier to read the mega-patch.
2023-06-27 09:03:52 -07:00