Dan Zheng
c736938911
Address parsing/syntax review feedback.
2019-12-17 16:21:28 -08:00
Dan Zheng
cd1400d675
Merge branch 'master' of github.com:apple/swift into upstream-transpose-attr
2019-12-17 12:44:29 -08:00
Dan Zheng
c842fee0a4
[AutoDiff upstream] Add @transpose(of:) attribute.
...
The `@transpose(of:)` attribute registers a function as a transpose of another
function. This patch adds the `@transpose(of:)` attribute definition, syntax,
parsing, and printing.
Resolves TF-827.
Todos:
- Type-checking (TF-830, TF-1060).
- Enable serialization (TF-838).
- Use module-qualified names instead of custom qualified name syntax/parsing
(TF-1066).
2019-12-16 12:23:08 -08:00
Dan Zheng
0585eb0e90
[AutoDiff upstream] Add @derivative(of:) attribute. ( #28321 )
...
The `@derivative(of:)` attribute registers a function as a derivative of another
function. This patch adds the `@derivative(of:)` attribute definition, syntax,
parsing, and printing.
Resolves TF-826.
Todos:
- Type-checking (TF-829).
- Serialization (TF-837).
2019-12-10 09:29:43 -08:00
Brent Royal-Gordon
63ec1cf5af
Introduce a separate #filePath, remove -pound-file
...
This makes the path behavior more first-class. The feature is now hidden behind an experimental flag, -enable-experimental-concise-pound-file.
2019-12-04 16:35:13 -08:00
Alex Hoppen
8da2311216
Merge pull request #28162 from ahoppen/exprlistsyntax-description
...
[gyb_syntax_support] Add description for ExprListSyntax
2019-11-14 10:55:00 -08:00
Dan Zheng
cd17339f82
[AutoDiff upstream] Update @differentiable syntax.
...
Clean up unused syntax components and fix description strings.
2019-11-12 09:28:31 -08:00
Gogul Balakrishnan
5accda22b2
[AutoDiff upstream] Introduce @differentiable attribute to mark functions as differentiable. ( #27506 )
...
This PR introduces `@differentiable` attribute to mark functions as differentiable. This PR only contains changes related to parsing the attribute. Type checking and other changes will be added in subsequent patches.
See https://github.com/apple/swift/pull/27506/files#diff-f3216f4188fd5ed34e1007e5a9c2490f for examples and tests for the new attribute.
2019-11-11 13:58:34 -08:00
Alex Hoppen
a2ed680457
[gyb_syntax_support] Add description for ExprListSyntax
2019-11-08 14:15:49 -08:00
Alex Hoppen
96a38f68ab
Merge pull request #27945 from ahoppen/multiline-generated-comments
...
[gyb_syntax_support] Make node descriptions multi-line
2019-11-04 20:04:47 -08:00
Alex Hoppen
1ebf2f2463
[gyb_syntax_support] Make node descriptions multi-line
...
The node descriptions are printed as dedented multi-line strings when
the corresponding files are being generated in SwiftSyntax. To do this,
however, the strings need to be multi-line to begin with and not have
the line break escaped.
2019-10-29 15:32:41 -07:00
Alex Hoppen
932525d762
[gardening] Fix several python-lint warnings
2019-10-29 10:40:20 -07:00
Alex Hoppen
776e2c0030
Revert "Migrate building SwiftSyntax to swift_build_support"
2019-10-29 09:55:32 -07:00
Alex Hoppen
46501b881f
[gardening] Fix several python-lint warnings
2019-10-25 15:58:07 -07:00
Rintaro Ishizaki
60341baf62
[SyntaxParse] Refactor generic requirement syntax structure
...
Re-apply a part of 0569cbfb28 after
reverting ASTGen changes. This is still an improvement.
2019-10-21 15:16:56 -07:00
Rintaro Ishizaki
66d19e6ea6
[Syntax] Accept '_' token as a label for tuple expression
2019-10-14 15:57:19 -07:00
Rintaro Ishizaki
8768832f24
Revert "Merge pull request #27281 from rintaro/reapply-syntaxparse-genericparam"
...
This reverts commit 5d3e8d6c83 , reversing
changes made to 27e881d97e .
2019-10-14 12:46:31 -07:00
Rintaro Ishizaki
bf5aa0a5a1
Revert "Merge pull request #27325 from rintaro/syntaxparse-cctype"
...
This reverts commit 439b9111b7 , reversing
changes made to 4e476ff243 .
2019-10-14 12:20:57 -07:00
Rintaro Ishizaki
fbc7c6c1c5
Revert "Merge pull request #27416 from rintaro/syntaxparse-declassociatedtype"
...
This reverts commit 5726179da9 , reversing
changes made to d5adbe2c55 .
2019-10-14 12:19:53 -07:00
Rintaro Ishizaki
4eadbaa9f6
Revert "Merge pull request #27466 from rintaro/syntaxparse-type"
...
This reverts commit a4fcd26b38 , reversing
changes made to 88ecae4b9a .
2019-10-14 12:19:04 -07:00
Rintaro Ishizaki
e53ad15b10
Revert "Merge pull request #27508 from rintaro/syntaxparse-expridentifier"
...
This reverts commit dfe962f19a , reversing
changes made to 04ce7bf779 .
2019-10-14 12:18:26 -07:00
Rintaro Ishizaki
0e8010d8b9
Revert "Merge pull request #27592 from rintaro/syntaxparse-exprtuple"
...
This reverts commit cdfd1ab2cf , reversing
changes made to eb02f20f99 .
2019-10-14 12:15:48 -07:00
Rintaro Ishizaki
b56c543f0d
Revert "Merge pull request #27607 from rintaro/syntaxparse-exprunresolvedmember"
...
This reverts commit 5e1f790b3b , reversing
changes made to 1846a5957e .
2019-10-14 12:15:12 -07:00
Rintaro Ishizaki
572cfe26a9
Revert "[SyntaxParse] Parse ObjC keypath expression syntax"
...
This reverts commit 1036d2a2bf .
2019-10-14 12:11:40 -07:00
Rintaro Ishizaki
1036d2a2bf
[SyntaxParse] Parse ObjC keypath expression syntax
2019-10-11 11:55:22 -07:00
Rintaro Ishizaki
f50966fcc1
[SyntaxParse] Parse ObjectLiteralExpr syntax
2019-10-10 13:22:57 -07:00
Rintaro Ishizaki
bb08667bf5
[SyntaxParse] Parse tuple/paren expression syntax
2019-10-09 14:48:47 -07:00
Rintaro Ishizaki
dfe962f19a
Merge pull request #27508 from rintaro/syntaxparse-expridentifier
...
[SyntaxParse] Parse IdentifierExpr syntax
2019-10-08 19:17:46 +02:00
Rintaro Ishizaki
f42f60f233
[Syntax] Consolidate 'TupleElement' and 'FunctionCallArgument' kinds
...
into 'TupleExprElement'. They had exact the same layout.
2019-10-07 20:52:11 -07:00
Rintaro Ishizaki
597538ca18
[SyntaxParse] Parse IdentifierExpr syntax
...
Along with UnqualifiedDeclName (e.g. 'foo(x:y:)').
2019-10-02 17:06:51 -07:00
Rintaro Ishizaki
7b31d2b4fb
[SyntaxParse] Finish type parsing
...
- Type attributes
- SIL types
2019-10-01 15:40:10 -07:00
Rintaro Ishizaki
9eb4c216ee
Revert "Revert "[SyntaxParse] Parse associatedtype decl""
...
This reverts commit 859f90afc1 .
2019-09-27 23:52:39 -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
1861536e3e
[Syntax] Fix Python lint failure
2019-09-20 15:26:37 -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
Rintaro Ishizaki
5bcd224ac9
[Syntax] Completely remove 'backtick' trivia kind
...
Make hash generation to take trivias into account.
2019-09-09 23:09:21 -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
Argyrios Kyrtzidis
2979a149f2
[utils/gyb_syntax_support] Add the classification kind for identifiers
2019-07-01 14:39:40 -07:00
Rintaro Ishizaki
b2fd31daa1
Merge pull request #25843 from rintaro/syntax-tupletype-element-rdar52291805
...
[Syntax] Fix tuple type element parsing
2019-06-28 01:11:28 -07:00
Rintaro Ishizaki
9c044fe107
[Syntax] Fix tuple type element parsing
...
* typo: `InoutToken` not `InOutToken`
* Use `EllipsisToken` like function parameters. Otherwise `,` is stored
at ellipsis position.
rdar://problem/52291805
2019-06-27 16:35:43 -07:00
Rintaro Ishizaki
3ac5a0e9a1
[Syntax] Accept 'self' as IdentifierPatternSyntax
...
rdar://problem/52285009
2019-06-27 14:56:19 -07:00
Xi Ge
2509f50e45
Syntax: introduce a token kind for single quote to preserve round-trip printing of syntax tree
...
For invalid code, lexer is forgiving enough to allow single quote '\'' as the starting point
of string literals. Later, parser assumes the string literals are always using double quote "\"", and passes
such knowledge to SwiftSyntax side, leading to the round-trip failure we observed in the radar.
This commit fixes the issue by introducing another token kind for single quote.
rdar://51071021
2019-06-12 17:16:16 -07:00
Jan Svoboda
b0f6168660
[libSyntax] Represent raw string delimiters
2019-05-15 09:15:03 +02:00
kitasuke
b583fef8e2
Consolidate StringInterpolationExpr to StringLiteralExpr
2019-05-12 11:23:00 +09:00
kitasuke
5debb929da
Rename StringInterpolationSegments to StringLiteralSegments
2019-05-06 09:37:37 +08:00
Ben Langmuir
a7fe27ae28
Appease python linter
2019-05-02 12:56:18 -07:00