Skip to content

[Macros] Skeletal implementation of accessor macros #63023

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
merged 4 commits into from
Jan 13, 2023

Conversation

DougGregor
Copy link
Member

@DougGregor DougGregor commented Jan 13, 2023

Accessor macros are attached macros (written with attribute syntax)
that can generate accessors for a property or subscript. Recognize
custom attributes that are accessor macros when written on a storage
declaration, and expand those macros to produce accessors.

This is enough to get the most basic example working, but needs a
significant amount of refactoring and a lot more error handling.

…ation.

Accessor macros are attached macros (written with attribute syntax)
that can generate accessors for a property or subscript. Recognize
custom attributes that are accessor macros when written on a storage
declaration, and expand those macros.

This is very much a work in progress, and the result of the expansion
isn't yet parsed or wired into the AST.
@DougGregor
Copy link
Member Author

@swift-ci please smoke test

@DougGregor
Copy link
Member Author

@swift-ci please smoke test

@DougGregor
Copy link
Member Author

Linux failure looks unrelated...

<EXPR>:0: error: SwiftDriverTests.testToolSearching : threw error "failed to retrieve frontend target info"
Test Case 'SwiftDriverTests.testToolSearching' failed (0.003 seconds)

Once an accessor macro has produced accessors, parse them and wire them
into the AST so the rest of the compiler will see them. First
end-to-end test case!
@DougGregor
Copy link
Member Author

@swift-ci please smoke test

@DougGregor DougGregor changed the title [Macros] Start expanding accessor macros attached to a storage declaration [Macros] Skeletal implementation of accessor macros Jan 13, 2023
@DougGregor
Copy link
Member Author

@swift-ci please smoke test

@DougGregor
Copy link
Member Author

macOS CI failures are unrelated.

@DougGregor DougGregor merged commit dc87c93 into swiftlang:main Jan 13, 2023
@DougGregor DougGregor deleted the accessor-macros-wip branch January 13, 2023 23:57
tshortli added a commit to tshortli/swift that referenced this pull request Sep 22, 2024
Re-enables the check that children of ASTScope nodes are added in source range
order. This seems to have been accidentally disabled permanently in
swiftlang#63023.
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.

1 participant