Artem Chikin
faa9751c37
[Compile Time Constant Extraction] Emit underlying types for typealias types
...
Resolves rdar://113402135
2023-08-18 10:44:46 -07:00
Pavel Yaskevich
4bd60aeb4e
[Tests] NFC: Remove/adjust runtime metadata related test cases
2023-08-15 12:17:31 -07:00
Artem Chikin
f39d62f65d
Merge pull request #67692 from artemcm/ConstExtractPrintTypesOutOfContext
...
[Compile Time Constant Extraction] Map types with archetypes out of context, before mangling them for printing.
2023-08-03 11:08:58 -07:00
Artem Chikin
8fb4294507
[Compile Time Constant Extraction] Map types with archetypes out of context, before mangling them for printing.
...
Matching logic in the ASTPrinter. Otherwise we attempt to mangle types with archetypes in them, which cannot be done, and causes the compiler to crash.
Resolves rdar://113039215
2023-08-02 17:37:59 -07:00
Artem Chikin
0ea41efded
[Compile Time Constant Extraction] Deprecated extraction of property mangled
...
names. It can often be more complex than the code can currently handle (e.g.
properties whose types include archetypes), and we
do not have a good motivating use-case to extract them.
Resolves rdar://113039215
2023-08-01 15:52:52 -07:00
Artem Chikin
72ed4e37ff
[Compile Time Constant Extraction] Refactor collection of opaque type requirements
...
To reduce duplication of logic with other parts of the compiler, instead of destructuring the constraint type, write the requirements in the opaque type declaration's generic signature.
2023-06-30 11:02:24 -07:00
Artem Chikin
3f0c0f0553
[Compile Time Constant Extraction] Add extraction of all conformances and type aliases of applicable nominal types
...
This change adds to the extracted type metadata the following fields:
- Conformances: this is a list of all protocols that the given nominal type conforms to
- associated type aliases: this is a list of all associated types across all conformances that the given nominal type substitutes with concrete types. For a given associated type, we gather:
- Associated type name
- Substituted type's fully-qualified name
- Substituted type's mangled name
- If the substituted type is opaque:
- List of conformance requirements of this opaque type
- List of same-type requirements of this opaque type
2023-06-22 07:13:24 -07:00
Anthony Latsis
7f6d3bcd41
ASTPrinter: Turn on explicit any printing for everything and remove the option to disable it
2023-05-13 02:55:49 +03:00
Artem Chikin
79073edb5b
[Compile Time Constant Extraction] Extract the instance type for type values - not the metatype
...
The intended design is to extract actual types of type values appearing in conformance properties, whereas the original extraction code-path queried and recorded the type values' types - their metatypes.
Resolves rdar://108609420
2023-04-27 08:11:38 -07:00
James Paolantonio
bb2a2e8efe
[Compile Time Constant Extraction] Look through InjectIntoOptionalExpr ( #64416 )
2023-03-16 15:42:22 -04:00
Artem Chikin
87f1c2f6bd
[Compile Time Constant Extraction] Extract mangled names for Type values
...
Resolves rdar://106151566
2023-03-06 17:47:55 -03:00
Artem Chikin
76b9281fac
[Compile Time Constant Extraction] Handle expression-less default argument expressions
...
Resolves rdar://106006282
2023-03-02 08:48:28 -08:00
Artem Chikin
86b8ca6f91
[Compile Time Constant Extraction] Look through underlying-to-opaque conversions
...
Resolves rdar://106006689
2023-03-01 11:01:34 -08:00
Artem Chikin
ee9b4766ad
[Compile Time Constant Extraction] Extract InjectIntoOptional arguments
...
Resolves rdar://106059663
2023-03-01 09:22:45 -08:00
James Paolantonio
9e94cb9c6e
[Compile Time Constant Extraction] Extract Types ( #63820 )
2023-02-23 13:18:35 -05:00
Artem Chikin
aa70ac7e52
[Compile Time Constant Extraction] Extract explicit cast property init values
...
For some types which are e.g. ExpressibleByStringLiteral, we may encounter a coerce expression with a compile-time-knowable parameter/sub-expression.
2023-02-21 09:28:45 -08:00
Artem Chikin
5b0697d64b
[Compile Time Constant Extraction] Guard Runtime Metadata Attributes test behind requires=asserts
2023-02-13 14:32:53 -08:00
Artem Chikin
d5f09b496a
[Compile Time Constant Extraction] Extract runtime metadata attributes
...
Part of rdar://104192094
2023-02-08 14:31:44 -07:00
James Paolantonio
af7cf15133
[Compile Time Constant Extraction] Extract Property Wrapper Line + File Information ( #63195 )
2023-01-26 08:49:20 -08:00
Artem Chikin
959216c0f6
Merge pull request #63175 from artemcm/DeSugarArraysAndDictionariesWhenPrinting
...
[Compile Time Constant Extraction] Print desugared array, dictionary, optional types
2023-01-24 09:32:08 -08:00
James Paolantonio
c4c1b82771
[Compile Time Constant Extraction] Extract availability annotations ( #63174 )
2023-01-24 09:03:41 -08:00
Artem Chikin
544dae4713
[Compile Time Constant Extraction] Print desugared arrays, dictionaries, optionals
...
Resolves rdar://103187206
2023-01-23 17:12:31 -08:00
James Paolantonio
f4a7e4ca18
[Compile Time Constant Extraction] Extract result builder-type information ( #63091 )
2023-01-20 09:40:31 -05:00
James Paolantonio
093f00a902
[Compile Time Constant Extraction] Extract enums ( #63005 )
2023-01-19 15:10:07 -05:00
James Paolantonio
5a1207569e
[Compile Time Constant Extraction] Extract line numbers ( #62870 )
2023-01-09 16:31:41 -05:00
James Paolantonio
4a2908041f
[Compile Time Constant Extraction] Update string literal output formatting ( #62836 )
2023-01-06 07:04:51 -05:00
Quinn Taylor
5683a6145a
Merge pull request #62752 from quinntaylor/const-extract-dictionary
...
[Compile Time Constant Extraction] Add extraction of Dictionary values.
2023-01-05 13:14:31 -05:00
James Paolantonio
0d52c41e61
[Compile Time Constant Extraction] Add extraction of paren expressions ( #62816 )
2023-01-04 09:27:00 -05:00
Quinn Taylor
813f542d2a
[Compile Time Constant Extraction] Add extraction of Dictionary values.
2022-12-21 22:40:01 -05:00
James Paolantonio
5ec4143f4a
[Compile Time Constant Extraction] Add extraction of arrays ( #62491 )
2022-12-14 17:46:09 -05:00
James Paolantonio
b6d098618d
[Compile Time Constant Extraction] Add extraction of property wrappers ( #62555 )
2022-12-14 09:28:09 -05:00
James Paolantonio
0d666e2911
[Compile Time Constant Extraction] Add extraction of tuples ( #62436 )
2022-12-13 13:17:42 -05:00
Quinn Taylor
a617c34835
[Compile Time Constant Extraction] Split fields.swift test file into 3 files with clear scoping and naming.
2022-12-12 12:00:36 -05:00
James Paolantonio
7acbf557ae
[Compile Time Constant Extraction] Fix tests ( #62481 )
2022-12-09 09:19:36 -08:00
James Paolantonio
186e55f5fd
[Compile Time Constant Extraction] Add extraction computed variables in extensions ( #62465 )
2022-12-09 08:13:38 -05:00
James Paolantonio
7832de07f9
[Compile Time Constant Extraction] Add extraction of initialization calls ( #62365 )
2022-12-06 08:44:57 -05:00
Quinn Taylor
43a126c28a
[Compile Time Constant Extraction] Add valueKind property to JSON output.
...
For computed Swift properties where `valueKind` is `"Runtime"`, exclude the `value` JSON property.
2022-11-29 13:58:30 -05:00
James Paolantonio
9f69176035
[Compile Time Constant Extraction] Add extraction of single statement returns of computed properties.
2022-11-28 10:32:05 -05:00
Artem Chikin
51735a8d48
Add missing FileCheck invocatoin to 'test/ConstExtraction/fields.swift'
2022-10-13 13:25:19 -07:00
Artem Chikin
38455e29f3
[Compile Time Constant Extraction] Print fully-qualified type names
2022-08-19 11:39:46 -07:00
Artem Chikin
514996e755
[Compile Time Constant Extraction] Use 'Expr::printConstExprValue' instead of rolling it ourselves.
2022-08-19 11:39:40 -07:00
Artem Chikin
6e7f3076b8
Add rudimentary emission of compile-time-known default-initialized property values of specific conformances.
2022-08-01 11:06:59 -07:00