Comments (4)
I agree this is a bug.
https://github.com/apple/swift/blob/75033ed05a8f5ecf79e77b41dabd2c3863cbc9e5/lib/Parse/Lexer.cpp#L2560
I intentionally did this because, currently, we want such comments to be attached to the next token (i.e. possible start of a declaration on the next line).
https://bugs.swift.org/browse/SR-2373
Lexing trailing-comment as trailingTrivia
makes parsing difficult as long as we keep current "trailing doc-comment" behavior. @nkcsgexi @akyrtzi What do you think?
from swift-syntax.
This example inamiy (JIRA User) gave here is an obvious bug since the comments are in different forms ("//" and "///"), so it's reasonable to assume they're
commenting different pieces.
If they are both "///", i have no strong opinion on whether we split them as trailing and leading trivia or combine them as leading trivia, because the lexer cannot
be always right in either way.
from swift-syntax.
Comment by Yasuhiro Inami (JIRA)
If they are both "///", i have no strong opinion on whether we split them as trailing and leading trivia or combine them as leading trivia, because the lexer cannot
be always right in either way.
I think trailing and leading trivias should be separated in the above case too, and it's probably possible to distinguish them by checking if token exists in the same line or not.
If this can be done, it's exciting to see SR-2373 trailing-doc support can be implemented as well 🙂
from swift-syntax.
rdar://95639215
from swift-syntax.
Related Issues (20)
- Improperly escaped backslash in fix-it message HOT 1
- New 600.0.0 prerelease HOT 4
- FixItApplier crash when generating diagnostics for whole tree but applying them to a subtree HOT 11
- Further generalize parse diagnostics functions HOT 1
- Body Macro formatted despite formatMode disabled HOT 2
- Improve diagnostics for C-style parameter declaration with structural type HOT 1
- [Parser] Misparsed function parameter with keyword argument '_const' HOT 1
- `600.0.0-prerelease-2024-07-24` fails to build on macOS 12 with Swift 5.10 HOT 12
- swift-syntax doesn't give negative integer literals special treatment while the Swift compiler does. HOT 2
- Source location retrieving doesn't work in body macro expansion assertion HOT 1
- KeyPath `.self` cannot be resolved in earlier Swift versions HOT 1
- Detect recursive attached macro expansion HOT 1
- Macro protocols lack `async` from `expansion` function requirements despite proposals stating they should have it HOT 17
- DeclModifierListSyntax adds redundant space after private modifier HOT 2
- Multiple SPM frameworks with macros fail Xcode app project build HOT 2
- swift format fails when using new `sending` keyword HOT 4
- [Swift 6.0] Xcode Beta 16 build failure HOT 10
- Invalid semantic versioning? HOT 2
- Compiler crash while emitting witness table for protocol conformance
- [Diagnostics] Intra-group trivia not preserved when moving a node group HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from swift-syntax.