[Sema/SIL] Implement type wrapper support in user-defined initializers #60941
xedin
force pushed
3 years ago
xedin
force pushed
3 years ago
xedin
marked this pull request as ready for review 3 years ago
xedin
force pushed
3 years ago
xedin
force pushed
3 years ago
kavon
approved these changes
on 2022-09-28
xedin
force pushed
3 years ago
xedin
force pushed
3 years ago
[AST] TypeWrappers: A request to synthesize `_storage` variable for a…
412915ea
[TypeChecker] TypeWrappers: Inject `_storage` variable into initializ…
0692203a
[SIL] Add originator to `assign_by_wrapper` instruction
df87a494
[SILGen] Start emitting `assign_by_wrapper` for type wrappers
71eb2a73
[SILOptimizer] Implement lowering of type wrapper assignment instruct…
fe1f1506
[AST] Add a way to retrieve $Storage decl from a type wrapped type
1ee14f54
[SILOptimizer] DI: Add a way to check whether `TheMemory` is `_storag…
b5126a97
[AST/Sema] TypeWrappers: Rename wrapped type memberwise initializer e…
92fbb3eb
[AST] TypeWrappers: Add request to retrieve type wrapper initializer
224708d9
[SILGen] TypeWrappers: Make sure that memberwise init of $Storage is …
862c9d4f
[SILGen] TypeWrappers: Route property wrapper through _storage for ma…
31cf06b7
[SILGen] TypeWrappers: Make sure that default init of $Storage is alw…
8d39e525
[DI] Process type wrapper `_storage` before any other initialization
d5844e53
[SILOptimizer] TypeWrappers: Lower assign_by_wrapper into copy_addr f…
d1ad9e3e
[SILOptimizer] TypeWrappers: Implement `self.$storage` initialization…
746457f3
[SILOptimizer] TypeWrappers/NFC: Add tests for user-defined designed …
3fd5ed51
[SILOptimizer] TypeWrappers/NFC: Add tests for convenience initialize…
dcecf527
[DI] Element refs on `_storage` should be printed with `self.`
e9cb195f
[DI] NFC: Add a TODO comment about possible refactoring
113c4fba
[DI] Leave a comment about origins of `_storage` variable
a9251423
[SILOpt] Add a flag to enable experimental type wrappers feature
1b4378ec
xedin
force pushed
3 years ago
[SILOptimizer] TypeWrappers/NFC: Add test cases for assign_by_wrapper…
daa8d5be
[SILGen] TypeWrappers: switch to `emitFunctionDefinition` for forced …
99cfbf7d
xedin
force pushed
to
99cfbf7d
3 years ago
xedin
merged
dbb5a48e
into main 3 years ago
Assignees
No one assigned
Login to write a write a comment.
Login via GitHub