Added support for {..} and (*..*) comments and attaching them nodes #185
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, DelphiAST only extracts "//..." style comments. This branch adds support for "{..}" and "(..)" comments as well. This only required changes to SimpleParser.Lexer.pas.
In addition, I added support for attaching the last preceding comments to TSyntaxNodes, through the new TSyntaxNode.LastPrecedingCommentNode property.
Support for this is disabled by default, since not everyone may be interested in comments. To attach the comments to their nodes, I added TPasSyntaxTreeBuilder.AttachCommentNodes.
There have been discussions about where to place comment nodes in the tree. The approach I took here was not the place comments nodes in the tree, but to associate each comment with the node that succeeds it. This is the same convention that is used in the Delphi RTL/VCL/FMX source code: the documentation for a declaration is written in a comment preceding the declaration itself.
If there are more comments preceding a node, then only the last comment is attached.