Commit Graph

13 Commits

Author SHA1 Message Date
Tim Kientzle
1d961ba22d Add #include "swift/Basic/Assertions.h" to a lot of source files
Although I don't plan to bring over new assertions wholesale
into the current qualification branch, it's entirely possible
that various minor changes in main will use the new assertions;
having this basic support in the release branch will simplify that.
(This is why I'm adding the includes as a separate pass from
rewriting the individual assertions)
2024-06-05 19:37:30 -07:00
Pavel Yaskevich
2ea3014ae9 [AST] PackExpansionMatcher/NFC: Templatarize TypeListPackMatcher 2023-03-24 10:58:49 -07:00
Pavel Yaskevich
433cbfcd62 [AST] PackExpansionMatcher: use common prefix/suffix algorithm for tuple matching 2023-03-23 15:07:28 -07:00
Pavel Yaskevich
ee1f16f754 [AST] NFC: Unify implementation for pack expansion matching for type lists 2023-03-23 15:07:28 -07:00
Pavel Yaskevich
be6b05b305 [PackExpansionMatcher] Adjust ParamPackMatcher to account for labels
First step in preparation to unify different matchers which
is effectively no-op because function parameters do not have
labels.

- Common prefix/suffix should account for presence of labels
- Labeled parameters cannot appear in the region absorbed by
  a pack expansion type.
2023-03-23 15:06:21 -07:00
Slava Pestov
b122977671 AST: Record both LHS and RHS index in PackExpansionMatcher.cpp 2022-12-01 15:25:20 -05:00
Slava Pestov
914e0c490c AST: Small cleanup for PackExpansionMatcher 2022-11-29 22:15:55 -05:00
Slava Pestov
2dd6d24834 Sema: Tweak PackMatchers to preserve PackExpansionType on both sides 2022-10-27 13:46:58 -04:00
Holly Borla
5584752b3e [ConstraintSystem] Implement value parameter pack forwarding. 2022-10-22 13:41:48 -07:00
Slava Pestov
cbce4a52ca Sema: Support PackExpansionTypes in matchPackTypes() 2022-10-21 22:17:38 -04:00
Slava Pestov
73e478871c Sema: Tweak PackExpansionMatcher to respect invariants
Don't emit a match with a PackExpansionType on one side and a
PackType on the other; always unwrap the PackExpansionType
to get its underlying pattern.
2022-10-17 23:23:09 -04:00
Slava Pestov
a000b78eac AST: Introduce ParamPackMatcher, for structural matching of function types 2022-10-16 21:37:25 -04:00
Slava Pestov
9d16b821a8 AST: Move Sema's TuplePackMatcher to AST
I'm also going to use it in TypeMatcher, for the Requirement Machine's
same-type requirement desugaring.
2022-10-16 21:37:25 -04:00