Skip to content
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

Optimized Type Checker performance in UnicodeScalarExtensions and SyntaxText #2308

Merged
merged 1 commit into from Oct 25, 2023

Conversation

art-divin
Copy link
Contributor

@art-divin art-divin commented Oct 21, 2023

Description

This PR optimizes swift code to accommodate slowness of Type Checker.

Context

The following two methods are currently slow to compile in swift-syntax package:

  1. UnicodeScalarExtensions.isValidIdentifierContinuationCodePoint
  2. SyntaxText.isSlice(of:)

The optimization is about making the code a bit less "sweet" (as from "syntax sugar"), but a bit faster to get parsed.
Approach is simple: add type annotations, introduce local variables annotated with types.

Measurements

I have measured the performance of the following command:

xcodebuild -scheme swift-syntax-Package ONLY_ACTIVE_ARCH=YES -destination 'platform=macos' clean build > /dev/null

using time. The output of time was the following:

Before After
2.10s user 0.53s system 20% cpu 12.784 total 2.08s user 0.51s system 20% cpu 12.629 total
2.11s user 0.50s system 20% cpu 12.896 total 2.09s user 0.50s system 20% cpu 12.802 total
2.12s user 0.50s system 20% cpu 12.720 total 2.07s user 0.52s system 20% cpu 12.793 total
2.10s user 0.51s system 20% cpu 12.905 total 2.08s user 0.53s system 20% cpu 12.768 total
2.05s user 0.47s system 20% cpu 12.638 total 2.07s user 0.53s system 20% cpu 12.710 total
2.12s user 0.52s system 20% cpu 12.569 total 2.05s user 0.50s system 19% cpu 12.846 total
2.14s user 0.53s system 20% cpu 12.792 total 2.07s user 0.50s system 20% cpu 12.514 total

More Details

I have used https://github.com/qonto/SwiftCompilationTimingParser to measure slow compiling code. The following were the top candidates for optimization:

location symbol ms
Sources/SwiftSyntax/generated/SyntaxVisitor.swift:3438:16 instance method visitationFunc(for:) 407.71
Sources/SwiftSyntax/SyntaxText.swift:97:15 instance method isSlice(of:) 299.29
Sources/SwiftSyntax/generated/ChildNameForKeyPath.swift:18:13 global function childName(_:) 293.93
Sources/SwiftSyntax/generated/SyntaxRewriter.swift:2113:16 instance method visitationFunc(for:) 269.33
Sources/SwiftParser/Lexer/UnicodeScalarExtensions.swift:14:52 getter isValidIdentifierContinuationCodePoint 123.67
Sources/SwiftSyntax/generated/TokenKind.swift:730:22 static method fromRaw(kind:text:) 85.13
Sources/SwiftSyntax/generated/SyntaxEnum.swift:306:8 instance method as(_:) 74.07

Out of these, there were only two which are not related to generated code.
After code optimization, the modified methods got the following timing:

location symbol ms improvement
UnicodeScalarExtensions.swift:14:52 getter isValidIdentifierContinuationCodePoint 20.72 83.3%
SyntaxText.swift:97:15 instance method isSlice(of:) 7.1 97.7%

While the comparison might seem unreasonable to get this PR merged, in my personal opinion and experience, under certain circumstances this type of optimization of swift code for Type Checker might play a big role in overall compilation performance in the long run. What's important is not to introduce a regression, and so thorough measurements should be made.

Copy link
Collaborator

@ahoppen ahoppen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for investigating swift-syntax’s compile time.

In this version of the PR code is a lot less readable, especially because of the non-descriptive variable names first, second etc. Especially in isSlice(of:), I think we should be able to use a lot more descriptive variable names, like selfEnd and otherEnd, which should improve the code readability and the compile time at the same time.

For the isValidIdentifierContinuationCodePoint, I briefly looked and couldn’t find any descriptive variable names that we could pick. But I think it would be interesting to see if adding as Bool could improve the compile time, while leaving the overall shape of the code the same.

@art-divin
Copy link
Contributor Author

👋🏻 @ahoppen ,

Thanks for investigating swift-syntax’s compile time.

In this version of the PR code is a lot less readable, especially because of the non-descriptive variable names first, second etc. Especially in isSlice(of:), I think we should be able to use a lot more descriptive variable names, like selfEnd and otherEnd, which should improve the code readability and the compile time at the same time.

thank you for your review. I am aware of the "ugliness" of optimized Swift code when it comes to fixing Type Checker performance issues. One of the worst swift code I have ever written was when optimizing Combine closures with explicit return types in a deeply nested context. Though, it reduced compilation duration by 50% in that project.

For the isValidIdentifierContinuationCodePoint, I briefly looked and couldn’t find any descriptive variable names that we could pick. But I think it would be interesting to see if adding as Bool could improve the compile time, while leaving the overall shape of the code the same.

I'll do my best and re-run tests with as Bool suggestion. I'd also consider adding meaning to the variables. Maybe LLM would be able to come up with such, if no other option would work 😅

Sources/SwiftSyntax/SyntaxText.swift Outdated Show resolved Hide resolved
Sources/SwiftSyntax/SyntaxText.swift Outdated Show resolved Hide resolved
@art-divin
Copy link
Contributor Author

Hey @ahoppen ,

For the isValidIdentifierContinuationCodePoint, I briefly looked and couldn’t find any descriptive variable names that we could pick. But I think it would be interesting to see if adding as Bool could improve the compile time, while leaving the overall shape of the code the same.

Indeed, I have applied as Bool and it works even faster, just 20.72 ms! Pushed my commits.

Copy link
Collaborator

@ahoppen ahoppen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the quick iteration time @art-divin.

Could you format the code using swift-format as described in https://github.com/apple/swift-syntax/blob/main/CONTRIBUTING.md#formatting and squash your commits?

commit 4cd9756
Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
Date:   Mon Oct 23 22:17:28 2023 +0400

    applied swift-format

commit dc59e96
Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
Date:   Mon Oct 23 22:02:35 2023 +0400

    removed redundant variable

commit ff95302
Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
Date:   Mon Oct 23 22:00:23 2023 +0400

    refactored optimization in isValidIdentifierContinuationCodePoint

commit 5b94ec9
Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
Date:   Mon Oct 23 21:51:48 2023 +0400

    fixed a typo; renamed variables

commit 7e1f23d
Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
Date:   Mon Oct 23 21:38:08 2023 +0400

    renamed variables in slice(of:)

commit 3b9c1f8
Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
Date:   Sat Oct 21 19:45:34 2023 +0400

    removed redundant newline

commit 83ad08c
Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
Date:   Sat Oct 21 19:02:13 2023 +0400

    optimized isSlice(of other: SyntaxText) -> Bool

commit f5d0a3a
Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
Date:   Sat Oct 21 19:02:03 2023 +0400

    optimized isValidIdentifierContinuationCodePoint
@art-divin art-divin force-pushed the function-compilation-optimization branch from 4cd9756 to 1dc4c16 Compare October 23, 2023 18:36
@art-divin
Copy link
Contributor Author

Thanks for the quick iteration time @art-divin.

Could you format the code using swift-format as described in https://github.com/apple/swift-syntax/blob/main/CONTRIBUTING.md#formatting and squash your commits?

Done ✅

@art-divin
Copy link
Contributor Author

For visibility, I am trying to optimize code in generated section of swift-syntax as well, by altering the way how code-generator works and adjusting templates.
My gut feeling is this: 1-2 seconds can be removed (out of 12), but I did not find yet way how to achieve this exactly ⏳

Copy link
Collaborator

@ahoppen ahoppen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you 🙏🏽

@ahoppen
Copy link
Collaborator

ahoppen commented Oct 24, 2023

@swift-ci Please test

@ahoppen
Copy link
Collaborator

ahoppen commented Oct 25, 2023

@swift-ci Please test Windows

@ahoppen ahoppen merged commit 48c2705 into apple:main Oct 25, 2023
3 checks passed
@art-divin art-divin deleted the function-compilation-optimization branch October 30, 2023 14:31
art-divin added a commit to art-divin/swift-syntax that referenced this pull request Nov 2, 2023
commit ebd7026
Merge: e5962c4 efbfbab
Author: Ben Barham <b.n.barham@gmail.com>
Date:   Fri Oct 27 16:04:15 2023 -0700

    Merge pull request apple#2313 from bnbarham/literal-expr-parsing

    Skip parsing trailing closures after literals

commit efbfbab
Author: Ben Barham <ben_barham@apple.com>
Date:   Wed Oct 25 14:08:57 2023 -0700

    Skip parsing trailing closures after literals

    Postfix parsing should skip trailing closure if the base expression is
    a literal (which is not callable).

commit e5962c4
Merge: 18c5bce 8fb1309
Author: Sophia Poirier <2997196+sophiapoirier@users.noreply.github.com>
Date:   Thu Oct 26 15:15:30 2023 -0700

    Merge pull request apple#2306 from sophiapoirier/globals_strict_concurrency_opt_out_nonisolated_unsafe

    nonisolated(unsafe) to opt out of strict concurrency static checking for global variables

commit 18c5bce
Merge: 598e191 dbb04e5
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Thu Oct 26 11:05:54 2023 -0700

    Merge pull request apple#2311 from ahoppen/ahoppen/511-version-indicator

    Add a `SwiftSyntax511` version indicator module

commit 598e191
Merge: bcd4772 a5315ff
Author: Boris Bügling <bbuegling@apple.com>
Date:   Wed Oct 25 14:06:20 2023 -0700

    Merge pull request apple#2312 from apple/load-unaligned

    load => loadUnaligned

commit a5315ff
Author: Boris Buegling <bbuegling@apple.com>
Date:   Wed Oct 25 11:29:53 2023 -0700

    load => loadUnaligned

    Same fix as apple/swift-package-manager#6929 since the code in swift-syntax is based on what is in SwiftPM.

commit bcd4772
Merge: 48c2705 12993b0
Author: Ben Barham <b.n.barham@gmail.com>
Date:   Wed Oct 25 10:10:33 2023 -0700

    Merge pull request apple#2265 from bnbarham/cast-sometimes-fails

    Casts to children of `SyntaxProtocol` are not always invalid

commit 48c2705
Merge: 0f808e7 1dc4c16
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Tue Oct 24 19:25:43 2023 -0700

    Merge pull request apple#2308 from art-divin/function-compilation-optimization

    Optimized Type Checker performance in UnicodeScalarExtensions and SyntaxText

commit dbb04e5
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Tue Oct 24 18:41:32 2023 -0700

    Add a `SwiftSyntax511` version indicator module

commit 0f808e7
Merge: 8d5fab7 636556c
Author: Alex Hoppen <alex@alexhoppen.de>
Date:   Tue Oct 24 17:17:45 2023 -0700

    Merge pull request apple#2238 from Matejkob/annotat-source-lines-with-notes-preperations

commit 12993b0
Author: Ben Barham <ben_barham@apple.com>
Date:   Mon Oct 23 17:29:51 2023 -0700

    Casts to children of SyntaxProtocol are not always invalid

    Update these overrides so they don't always fail.

commit 1dc4c16
Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
Date:   Mon Oct 23 22:35:34 2023 +0400

    Squashed commit of the following:

    commit 4cd9756
    Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
    Date:   Mon Oct 23 22:17:28 2023 +0400

        applied swift-format

    commit dc59e96
    Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
    Date:   Mon Oct 23 22:02:35 2023 +0400

        removed redundant variable

    commit ff95302
    Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
    Date:   Mon Oct 23 22:00:23 2023 +0400

        refactored optimization in isValidIdentifierContinuationCodePoint

    commit 5b94ec9
    Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
    Date:   Mon Oct 23 21:51:48 2023 +0400

        fixed a typo; renamed variables

    commit 7e1f23d
    Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
    Date:   Mon Oct 23 21:38:08 2023 +0400

        renamed variables in slice(of:)

    commit 3b9c1f8
    Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
    Date:   Sat Oct 21 19:45:34 2023 +0400

        removed redundant newline

    commit 83ad08c
    Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
    Date:   Sat Oct 21 19:02:13 2023 +0400

        optimized isSlice(of other: SyntaxText) -> Bool

    commit f5d0a3a
    Author: Ruslan Alikhamov <r.alikhamov@gmail.com>
    Date:   Sat Oct 21 19:02:03 2023 +0400

        optimized isValidIdentifierContinuationCodePoint

commit 8d5fab7
Merge: f8be751 46c39ad
Author: Ben Barham <b.n.barham@gmail.com>
Date:   Mon Oct 23 09:18:42 2023 -0700

    Merge pull request apple#2309 from icanzilb/marin_todorov/command-help-typo-fix

    Fixes a typo in the cli abstract string

commit 46c39ad
Author: Marin Todorov <marin@underplot.com>
Date:   Sun Oct 22 11:16:36 2023 +0200

    fixes typo in a help string

commit 636556c
Author: Mateusz Bąk <bakmatthew@icloud.com>
Date:   Mon Sep 25 16:42:37 2023 +0200

    Add diagnostic testing utils for enhanced diagnostics testing

    Introduces `DiagnosticTestingUtils.swift`, a utility suite designed to aid in writing unit tests for `DiagnosticsFormatter` and `GroupedDiagnostics`. Highlights include:

    1. `LocationMarker` Typealias:
      - Enhances readability and precision in location identification within AST.

    2. `DiagnosticDescriptor` and `NoteDescriptor` Structs:
      - Offers a robust mechanism to construct and describe diagnostics and notes for testing.

    3. Simple Implementations for Protocols:
      - `SimpleNoteMessage` and `SimpleDiagnosticMessage` for streamlined testing.

    4. `assertAnnotated` Function:
      - Asserts that annotated source generated from diagnostics aligns with the expected output.

    This addition significantly bolsters the testing utilities, providing a comprehensive framework for ensuring accurate and effective diagnostics.

commit 6954167
Author: Mateusz Bąk <bakmatthew@icloud.com>
Date:   Mon Sep 25 16:39:16 2023 +0200

    Introduce diagnostic decorator

    This commit introduces three significant components:

    1. `DiagnosticDecorator` Protocol:
      - Defines a standard interface for decorating diagnostic output in source code.
      - Design to be used by entities like `DiagnosticsFormatter` and `GroupedDiagnostics`.

    2. `ANSIDiagnosticDecorator` Struct:
      - Implements the `DiagnosticDecorator` protocol.
      - Adds severity-based prefixes to diagnostic messages.
      - Supports ANSI colorization to enhance visibility and interpretation.

    3. `BasicDiagnosticDecorator` Struct:
      - Implements the `DiagnosticDecorator` protocol.
      - Adds severity-based prefixes to diagnostic messages.

    Also includes:
    - Unit tests for `ANSIDiagnosticDecorator` in `ANSIDiagnosticDecoratorTests` and `BasicDiagnosticDecorator` in `BasicDiagnosticDecoratorTests`.

    This feature enriches the diagnostic capabilities, offering customizable and visually informative feedback.

commit 953bab2
Author: Mateusz Bąk <bakmatthew@icloud.com>
Date:   Mon Sep 18 09:53:24 2023 +0200

    Rename DiagnosticsFormatterTests to ParserDiagnosticsFormatterIntegrationTests

commit 8fb1309
Author: Sophia Poirier <spoirier@apple.com>
Date:   Fri Oct 20 10:30:46 2023 -0700

    nonisolated(unsafe) to opt out of strict concurrency static checking for global variables

commit f8be751
Merge: 2223e4c e111f3a
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Fri Oct 20 10:05:52 2023 -0700

    Merge pull request apple#2305 from Matejkob/new-extension-macro-example

    Add extension macro example

commit e111f3a
Author: Mateusz Bąk <bakmatthew@icloud.com>
Date:   Wed Oct 18 22:27:54 2023 +0200

    Add extension macro example

    This commit introduces a new macro, `DefaultFatalErrorImplementationMacro`, to provide default implementations for protocol methods. The macro automatically generates extension code blocks with the default implementations for any protocol it's attached to.

commit 2223e4c
Merge: 3fd8f49 45e92e8
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Thu Oct 19 17:07:39 2023 -0700

    Merge pull request apple#2272 from divalue/syntax_tree_with_lookahead_struct

    Add IncrementalParseResult

commit 3fd8f49
Merge: 83e12ff 9a0f0ff
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Thu Oct 19 14:16:54 2023 -0700

    Merge pull request apple#2278 from Matejkob/modifi-nodes-with-variable-setters

    Refactor syntax node manipulation to use variable setters

commit 9a0f0ff
Author: Mateusz Bąk <bakmatthew@icloud.com>
Date:   Thu Oct 12 09:11:56 2023 +0200

    Refactor syntax node manipulation to use variable setters

    This commit replaces the use of 'with' method for syntax node manipulation in SwiftSyntax examples with direct variable setters for better clarity and readability.

commit 83e12ff
Merge: f6868a7 d5400cb
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Wed Oct 18 15:18:32 2023 -0700

    Merge pull request apple#2304 from ahoppen/ahoppen/trivia-comment

    Improve comment of leading and trailing trivia on `SyntaxProtocol`

commit d5400cb
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Wed Oct 18 13:19:30 2023 -0700

    Improve comment of leading and trailing trivia on `SyntaxProtocol`

commit f6868a7
Merge: 02a1330 b5c9937
Author: Kim de Vos <kimdevos12@hotmail.com>
Date:   Wed Oct 18 12:40:46 2023 +0200

    Merge pull request apple#2286 from kimdv/kimdv/2273-bad-diagnostic-for-generic-parameter-list-on-enum-case

    Handle generic parameter on enum case

commit b5c9937
Author: Kim de Vos <kimdevos12@hotmail.com>
Date:   Sun Oct 15 20:18:58 2023 +0200

    Handle generic parameter on enum case

commit 02a1330
Merge: 106183a 33c4b08
Author: Kim de Vos <kimdevos12@hotmail.com>
Date:   Tue Oct 17 23:26:49 2023 +0200

    Merge pull request apple#2226 from kimdv/kimdv/rewrite-fit-it-applier

    Rewrite FixItApplier to be string based

commit 106183a
Merge: e8659bb aa33736
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Tue Oct 17 12:41:23 2023 -0700

    Merge pull request apple#2292 from ahoppen/ahoppen/case-iterable

    Remove `SyntaxKind` conformance to `CaseIterable`

commit 33c4b08
Author: Kim de Vos <kimdevos12@hotmail.com>
Date:   Tue Oct 17 08:32:46 2023 +0200

    Rewrite FixItApplier to be string based

commit e8659bb
Author: Rauhul Varma <rauhul@users.noreply.github.com>
Date:   Tue Oct 17 11:31:12 2023 -0700

    Fix missing space in LabeledExprSyntax init (apple#2291)

    Updates LabeledExprSyntax convenience initializer to include a trailing
    space trivia after the colon if an argument label is specified. This
    ensures the rendered description is 'arg: value' instead of 'arg:value'.

commit aa33736
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Mon Oct 16 12:46:21 2023 -0700

    Remove `IntegerLiteralExprSyntax.Radix` conformance to `CaseIterable`

    There’s no good reason why you would want to iterate over all radix kinds.

commit a318593
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Tue Oct 17 09:41:05 2023 -0700

    Remove `SyntaxKind` conformance to `CaseIterable`

    There’s no good reason to iterate over all cases in `SyntaxKind` and if `SyntaxKind` conforms to `CaseIterable`, we can’t mark members of it as deprecated (https://github.com/apple/swift-syntax/pull/2237/files#r1359917461)

commit 1fa18e5
Merge: 975ac26 d8c8695
Author: Rintaro Ishizaki <rishizaki@apple.com>
Date:   Mon Oct 16 19:07:47 2023 -0700

    Merge pull request apple#2296 from rintaro/cmake-nocache

    [CMake] Remove set(CACHE) line for SWIFT_MODULE_ABI_NAME_PREFIX

commit 975ac26
Merge: 8decbe4 e4e6a95
Author: Rintaro Ishizaki <rishizaki@apple.com>
Date:   Mon Oct 16 17:35:51 2023 -0700

    Merge pull request apple#2268 from rintaro/macro-resolveerror-rdar115571427

    [Macros] Granular diagnostics when macro type is not found in a plugin

commit 8decbe4
Merge: 72565a4 947e6f3
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Mon Oct 16 17:34:09 2023 -0700

    Merge pull request apple#2290 from ahoppen/ahoppen/interpolation-failure-message

    Update the interpolation failure message

commit d8c8695
Author: Rintaro Ishizaki <rishizaki@apple.com>
Date:   Mon Oct 16 13:50:05 2023 -0700

    [CMake] Remove set(CACHE) line for SWIFT_MODULE_ABI_NAME_PREFIX

    Due to https://cmake.org/cmake/help/latest/policy/CMP0126.html
    set(CACHE) overwrites the existing value if the cache has not been set
    to any value. Since we don't need any default value, just remove it.

commit 72565a4
Merge: ccab07f 7a3df8c
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Mon Oct 16 13:18:52 2023 -0700

    Merge pull request apple#2285 from pointfreeco/add-missing-dependency

    Add missing dependency to SwiftSyntaxMacroExpansion.

commit 45e92e8
Author: Dmitrii Valuev <dima.vap2013@gmail.com>
Date:   Sun Oct 8 22:44:23 2023 +0300

    Add IncrementalParseResult type

    Added IncrementalParseResult type and changed parseIncrementally return type

    Fix spacing in 510 rn

commit 947e6f3
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Mon Oct 16 11:32:38 2023 -0700

    Update the interpolation failure message

    When a user is getting the interpolation `os_log` failure message but actually supports parsing invalid source code, offer them an alternative parses the source code without checking for errors.

commit e4e6a95
Author: Rintaro Ishizaki <rishizaki@apple.com>
Date:   Fri Oct 13 15:53:50 2023 -0700

    [CompilerPlugin] remove _resolveMacro

    That was only just a thunk for testing. Use @_spi(Testing) instead.

commit ccab07f
Merge: df6600d 093b895
Author: Rintaro Ishizaki <rishizaki@apple.com>
Date:   Mon Oct 16 09:03:30 2023 -0700

    Merge pull request apple#2282 from rintaro/cmake-abi-name-rdar116951101

    [CMake] Add option to specify '-module-abi-name'

commit df6600d
Merge: e695b37 43c0388
Author: Kim de Vos <kimdevos12@hotmail.com>
Date:   Sun Oct 15 19:42:52 2023 +0200

    Merge pull request apple#2264 from kimdv/kimdv/2261-rename-notemessagefixitid-to-noteid

    Rename `NoteMessage.fixItID` to `noteID`

commit 43c0388
Author: Kim de Vos <kimdevos12@hotmail.com>
Date:   Thu Oct 5 21:23:24 2023 +0200

    Rename `NoteMessage.fixItID` to `noteID`

commit 7a3df8c
Author: Brandon Williams <mbrandonw@hey.com>
Date:   Sat Oct 14 20:38:18 2023 -0400

    Add missing dependency to SwiftSyntaxMacroExpansion.

commit e695b37
Merge: 27db137 657f2e1
Author: Alex Hoppen <alex@alexhoppen.de>
Date:   Sat Oct 14 17:22:05 2023 -0700

    Merge pull request apple#2063 from StevenWong12/move_swift_parser_cli

commit 27db137
Merge: 71afbc1 9a561e6
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Sat Oct 14 09:07:54 2023 -0700

    Merge pull request apple#2283 from Matejkob/add-SwiftSyntax510

commit 9a561e6
Author: Mateusz Bąk <bakmatthew@icloud.com>
Date:   Sat Oct 14 10:43:43 2023 +0200

    Create `SwiftSyntax510` module for version indication

commit 093b895
Author: Rintaro Ishizaki <rishizaki@apple.com>
Date:   Sat Oct 14 06:17:40 2023 +0000

    [CMake] Add option to specify '-module-abi-name'

    Add 'SWIFT_MODULE_ABI_NAME_PREFIX' CMake variable. This can be used from
    compiler's CMake so its swift-syntax libraries can have unique names.
    That avoids symbol name conflicts when compiler libraries (e.g.
    sourcekitdInProc) is used from binaries linking with swift-syntax (e.g.
    via SwiftPM)

    apple/swift#68812
    rdar://116951101

commit f413c51
Author: Rintaro Ishizaki <rishizaki@apple.com>
Date:   Wed Sep 20 14:53:11 2023 -0700

    [Macros] Granular diagnostics when macro type is not found in a plugin

    rdar://115571427

commit 71afbc1
Merge: fc58fc8 c5cb386
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Thu Oct 12 17:40:07 2023 -0700

    Merge pull request apple#2277 from ahoppen/ahoppen/editor-extension-deployment-target

    Remove deployment target setting from editor extension

commit c5cb386
Author: Alex Hoppen <ahoppen@apple.com>
Date:   Thu Oct 12 09:13:48 2023 -0700

    Remove deployment target setting from editor extension

    This fixes a warning when building the Xcode project.

commit fc58fc8
Merge: 1f3618d acdbf3d
Author: Harlan Haskins <harlan@apple.com>
Date:   Wed Oct 11 22:42:19 2023 -0600

    Merge pull request apple#2275 from apple/harlan/vintage-conformances

    Add support for '@retroactive' conformances in SwiftSyntaxParser

commit acdbf3d
Author: Harlan Haskins <harlan@apple.com>
Date:   Wed Oct 11 15:47:47 2023 -0600

    Update Types.swift

    Fixes a format error

commit 657f2e1
Author: Ziyang Huang <stevenhuang12@outlook.com>
Date:   Tue Oct 10 22:57:45 2023 +0800

    Run `swift-format` to format codes

commit cbd5764
Author: Harlan Haskins <harlan@apple.com>
Date:   Mon Oct 9 16:25:40 2023 -0600

    Add support for '@retroactive' conformances in SwiftSyntaxParser

commit 280fc3e
Author: Ziyang Huang <stevenhuang12@outlook.com>
Date:   Sun Oct 8 21:26:48 2023 +0800

    Rename `_InstructionCounter` in `SwiftParserCLI` to `InstructionCounter`

commit 264f676
Author: Ziyang Huang <stevenhuang12@outlook.com>
Date:   Tue Aug 22 22:10:28 2023 +0800

    Make CI build `SwiftParserCLI`

commit bdca1a4
Author: Ziyang Huang <stevenhuang12@outlook.com>
Date:   Sun Oct 8 21:23:04 2023 +0800

    Move `swift-parser-cli` to its own package
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants