Files
swift-mirror/lib/SILGen/InitializeDistActorIdentity.h
Kavon Farvardin ba9f627700 minor clean-ups
2022-03-25 20:07:45 +09:00

39 lines
1.2 KiB
C++

//===--- InitializeDistActorIdentity.h - dist actor ID init for SILGen ----===//
//
// This source file is part of the Swift.org open source project
//
// Copyright (c) 2014 - 2022 Apple Inc. and the Swift project authors
// Licensed under Apache License v2.0 with Runtime Library Exception
//
// See https://swift.org/LICENSE.txt for license information
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
//
//===----------------------------------------------------------------------===//
#include "Cleanup.h"
namespace swift {
namespace Lowering {
/// A clean-up designed to emit an initialization of a distributed actor's
/// identity upon successful initialization of the actor's system.
struct InitializeDistActorIdentity : Cleanup {
private:
ConstructorDecl *ctor;
ManagedValue actorSelf;
VarDecl *systemVar;
public:
InitializeDistActorIdentity(ConstructorDecl *ctor, ManagedValue actorSelf);
void emit(SILGenFunction &SGF, CleanupLocation loc,
ForUnwind_t forUnwind) override;
void dump(SILGenFunction &) const override;
VarDecl* getSystemVar() const { return systemVar; }
};
} // end Lowering namespace
} // end swift namespace