Rintaro Ishizaki
aeec682c90
[SyntaxParse] Prevent memory leak in Syntax parsing
...
Essentially re-applying b09f87594a
2019-10-15 16:27:32 -07:00
Rintaro Ishizaki
570ed9361f
Revert "Merge pull request #26883 from rintaro/revert-revert-26478-gsoc-2019-parser-types"
...
This reverts commit faaa3a859d , reversing
changes made to 62f947d6ba .
2019-10-14 15:18:05 -07:00
Rintaro Ishizaki
62408b0c78
Revert "Merge pull request #27046 from rintaro/syntaxparse-refactor-type"
...
This reverts commit a7d6612813 , reversing
changes made to 111fb37f74 .
2019-10-14 13:40:24 -07:00
Rintaro Ishizaki
00613db8db
Revert "Merge pull request #27230 from rintaro/syntaxparsse-rdar55421369"
...
This reverts commit b09f87594a , reversing
changes made to d0b7ecab00 .
2019-10-14 12:47:23 -07:00
Rintaro Ishizaki
9f642f0bc1
Revert "Merge pull request #27203 from CodaFi/movin-on-up"
...
This reverts commit 387d2a9aee , reversing
changes made to bf1ab6c29d .
2019-09-17 16:42:44 -07:00
Robert Widmann
d8aaf29617
Revert "Merge pull request #27132 from rintaro/syntaxparse-parsedrawsyntax-moveonly"
...
This reverts commit e675c4947d , reversing
changes made to 73315ba01e .
2019-09-16 15:10:33 -07:00
Rintaro Ishizaki
80085e0d27
[SyntaxParse] Make ParsedRawSyntaxNode move-only
...
So that we can easily detect 'ParsedSyntaxNode' leaking. When it's
moved, the original node become "null" node. In the destructor of
'ParsedSyntaxNode', assert the node is not "recorded" node.
2019-09-11 16:33:49 -07:00
Rintaro Ishizaki
8733bc59a2
[SyntaxParse] Remove unused SyntaxParserResult type
2019-09-10 10:29:02 -07:00
Rintaro Ishizaki
c13f68881a
[SyntaxParse] Simplify syntax parsing result facilities
...
- Utilize ignoreToken() to skip tokens while keeping them in syntax tree
- SyntaxParsedResult now holds ParsedRawSyntaxNode and ParserStatus
- Simplify migration support for 'TypeName[]' type
- Use builder for generic argument clause parsing
2019-09-10 10:29:02 -07:00
Rintaro Ishizaki
cb308b7e53
Revert "Revert "[Parser] Decouple the parser from AST creation (part 2)""
...
This reverts commit 8ad3cc8a82 .
2019-08-27 14:36:41 -07:00
Rintaro Ishizaki
8ad3cc8a82
Revert "[Parser] Decouple the parser from AST creation (part 2)"
2019-08-27 12:28:48 -07:00
Rintaro Ishizaki
80e6d2793d
[SyntaxParse] ParseError is not equivalent to code completion
2019-08-26 19:10:51 +02:00
Rintaro Ishizaki
52d999df9d
[SyntaxParse] Use ArrayRef to pass list of nodes to ParsedSyntaxResult
2019-08-26 19:10:51 +02:00
Jan Svoboda
77924c4b84
[Parser] Decouple the parser from AST creation (part 2)
...
Instead of creating the AST directly in the parser (and libSyntax or
SwiftSyntax via SyntaxParsingContext), make Parser to explicitly create
a tree of ParsedSyntaxNodes. Their OpaqueSyntaxNodes can be either
libSyntax or SwiftSyntax. If AST is needed, it can be generated from the
libSyntax tree.
2019-08-26 19:10:51 +02:00
Argyrios Kyrtzidis
5c42ac378a
[Parse] Add a guard macro for 'SyntaxParserResult.h'
2019-01-07 18:37:25 -08:00
Rintaro Ishizaki
5923e4fee4
[libSyntax] Support parsing collection types
2017-11-30 11:49:39 +09:00
Rintaro Ishizaki
640a11d11e
[libSyntax] Return type-identifier as SyntaxParserResult
2017-11-29 09:58:05 +09:00
Rintaro Ishizaki
e7cfae0ba9
[libSyntax] Support parsing type-identifier
2017-11-29 09:57:59 +09:00