Commit Graph

28 Commits

Author SHA1 Message Date
Rintaro Ishizaki
d9eba19b74 [SyntaxParse] Fix ASAN issue
rdar://problem/55711699
rdar://problem/55711787
rdar://problem/55711952
2019-09-25 21:27:44 -07:00
Rintaro Ishizaki
859f90afc1 Revert "[SyntaxParse] Parse associatedtype decl" 2019-09-25 11:00:21 -07:00
Rintaro Ishizaki
fc8a2e6f86 [SyntaxParse] Parse associatedtype decl
Along with inheritance clause.
2019-09-24 12:03:06 -07:00
Rintaro Ishizaki
1a9b6d0dbf [SyntaxParse] Introduce CodeCompletionTypeSyntax
To represent a type with code completion.

  type? '.'? <code-completion-token>

This is "parser only" node which is not exposed to SwiftSyntax.
Using this, defer to set the parsed type to code-completion callbacks.
2019-09-24 10:21:38 -07:00
Rintaro Ishizaki
fde58a9e15 [ASTGen] Adjust geneate() function signatures
'generate()' receives `const` reference to `SomeSyntax`. This should
prevent unnecessary reference counter operations.
2019-09-20 23:14:59 -07:00
Rintaro Ishizaki
0569cbfb28 Revert "Revert "[SyntaxParse] Parse generic parameter clause and generic where clause""
This reverts commit 1584e87aa7.
2019-09-20 15:26:04 -07:00
Rintaro Ishizaki
1584e87aa7 Revert "[SyntaxParse] Parse generic parameter clause and generic where clause" 2019-09-20 14:02:53 -07:00
Rintaro Ishizaki
f919b2ddd8 [SyntaxParse] Parse generic parameter clause and generic where clause 2019-09-19 23:09:58 -07:00
David Ungar
a127d78826 Keep using parser lookup till we try to disable it 2019-09-13 22:30:49 -07:00
Rintaro Ishizaki
a7d6612813 Merge pull request #27046 from rintaro/syntaxparse-refactor-type
[SyntaxParse] Refactor parsing facilities
2019-09-11 06:43:42 +02:00
Rintaro Ishizaki
b481bbcb3e [SyntaxParse] Remove recovery logic for TypeName[] type from ASTGen 2019-09-10 10:29:02 -07:00
Rintaro Ishizaki
019a13ab70 [SyntaxParse] Remove ASTGen::advanceLocEnd() function 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
8edea315cd [Syntax] Abolish 'backtick' trivia
- Stop producing 'backtick' trivia for escaping identifier token. '`'s
  are now parts of the token text
- Adjust and simplify C++ libSyntax APIs
- Add 'is_deprecated' property to Trivia.py to attribute SwiftSyntax
  APIs

rdar://problem/54810608
2019-09-09 11:49:25 -07:00
Rintaro Ishizaki
9612f447c1 [SyntaxParse] Fix the end location for CompositionTypeRepr
The end loc should be the loc of the last token of the last type
element.
2019-09-04 12:11:19 -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
Jan Svoboda
02a323e15d Add comments to ASTGen's UnknownTypeSyntax recovery 2019-08-26 19:10:51 +02:00
Jan Svoboda
be0ba7d7f5 Skip unnecessary start-of-line check in ASTGen for keywords 2019-08-26 19:10:51 +02:00
Rintaro Ishizaki
c8ac6b68ad [SyntaxParse] Fix memory leak in incomplete composition parsing 2019-08-26 19:10:51 +02:00
Jan Svoboda
9ae61aa6be Handle failed tuple parsing 2019-08-26 19:10:51 +02:00
Jan Svoboda
8b5ca75af4 Fix attribute @ SourceLoc in ASTGen 2019-08-26 19:10:51 +02:00
Jan Svoboda
6acfc8b48d Allow nullptr as output of ASTGen 2019-08-26 19:10:51 +02:00
Jan Svoboda
a7051279bc Use SourceLoc as key in type map 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
Jan Svoboda
f0395a469a Revert "Revert "[Parser] Decouple the parser from AST creation (part 1)"" 2019-07-30 04:34:09 +00:00
Brent Royal-Gordon
c66a8be4eb Revert "[Parser] Decouple the parser from AST creation (part 1)" 2019-07-09 14:07:43 -07:00
Jan Svoboda
5aee188716 Rename SyntaxTransformer to ASTGen 2019-07-08 17:16:35 +02:00