-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[Parse/Sema/SIL] Implementation of init accessors feature (under a flag) #66283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@swift-ci please build toolchain macOS |
swiftlang/llvm-project#6945 |
@swift-ci please build toolchain macOS |
@swift-ci please build toolchain macOS |
82bcb27
to
a767c7c
Compare
@swift-ci please build toolchain macOS |
@swift-ci please test |
1 similar comment
@swift-ci please test |
@swift-ci please smoke test |
@swift-ci please smoke test |
@swift-ci please smoke test |
@swift-ci please test |
This instruction is similar to AssignByWrapperInst, but instead of having a destination operand, the initialization is fully factored into the init function operand. Like AssignByWrapper, AssignOrInit has partial application operands of both the initializer and the setter, and DI will lower the instruction to a call based on whether the assignment is initialization or a setter call.
… into context before checking `initialValue`
…itializes(...)` and accesses(...)`
…initializers Properties with init accessors are used in place of properties they are supposed to initialize in order of stored properties.
…e separated by comma
…nstead of initialization Some properties from `initializes(...)` list could be already initialized, which means that Raw SIL lowering has to emit `destroy_addr` for them before calling init accessor.
DI marks all of of the previously initialized properties and Raw SIL lowering emits `destroy_addr` before calling init accessor for such properties to destroy previously set value.
…ructions when its known
…ly iniitalized properties Properties that are marked as initialized are printed as `[assign=<index>]` where `<index>` point to the property position in `getInitializedProperties()` list.
Because the feature is experimental and the flag would not be present in the production compilers.
…ter Raw SIL lowering
…urations of init accessors
@swift-ci please test |
@swift-ci please test macOS platform |
Unrelated lldb test failure. |
@swift-ci please clean test macOS platform |
No description provided.