normalizeObjectStates(in:diagnostics:)
Ensures that objects in f are initialized before use and deinitialized after last use,
reporting errors and warnings to diagnostics.
Requires
Borrows inself have been closed. f is in self.
-
Returns the successor of
i, if any.Declaration
Swift
func successor(of i: InstructionID) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(access i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(addressToPointer i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(allocStack i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(advancedByBytes i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(advancedByStrides i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(call i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(callFFI i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(captureIn i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(closeCapture i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(closeUnion i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(condBranch i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(constantString i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(deallocStack i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(endProject i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(genericParameter i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(globalAddr i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(callBuiltin i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(load i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(markState i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(memoryCopy i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(move i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(openCapture i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(openUnion i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(pointerToAddress i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(project i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(return i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(store i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(subfieldView i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(unionDiscriminator i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(wrapExistentialAddr i: InstructionID, in context: inout Context) -> PC? -
Interprets
iincontext, reporting violations intodiagnostics.Declaration
Swift
func interpret(yield i: InstructionID, in context: inout Context) -> PC? -
Updates
contextto mark all objects atsource, which is anaccess .set, as having been fully initialized. -
Updates
contextto mark all objects atsource, which is anaccess .sink, as having been consumed byconsumer.Declaration
Swift
func sink(_ source: Operand, with consumer: InstructionID, in context: inout Context) -
Updates the state of the
oincontextto mark it has been consumed byconsumeratsiteor reports a diagnostic explaining whyocan’t be consumed.Declaration
Swift
func consume( _ o: Operand, with consumer: InstructionID, at site: SourceRange, in context: inout Context ) -
Checks that entry parameter
p, passed with capabilityk, is initialized incontext, reporting diagnostics atsiteif it isn’t.Declaration
-
Checks that entry parameter
pis deinitialized incontext, inserting definitialization before instructioniif it isn’t, reporting diagnostics atsite.Declaration
Swift
func ensureUninitializedOnExit( _ p: Operand, in context: inout Context, insertingDeinitializationBefore i: InstructionID, reportingDiagnosticsAt site: SourceRange ) -
Checks that the return value is initialized in
context.Declaration
Swift
func ensureReturnValueIsInitialized( in context: inout Context, at site: SourceRange ) -
Checks that the state of the projection of
sourcesin the region defined atstartand exited withexitis consistent withaccess, updatingcontextaccordingly.startis the definition of projection (e.g., the result ofproject) dominatingi, which is a corresponding exit.context.locals[start]is the unique address of the objectobeing projected in that region.sourcesare the addresses of the objects notionally containingo.If
accessis.let,.inout, or.set,omust be fully initialized. Ifaccessissink,omust be fully deinitialized. implicit deinitialization is inserted to maintain the latter requirement.Declaration
Swift
func finalize( region start: Operand, projecting access: AccessEffect, from sources: Set<AbstractLocation>, exitedWith exit: InstructionID, in context: inout Context )
View on GitHub