-
Notifications
You must be signed in to change notification settings - Fork 10.4k
/
Copy pathInitializeDistActorIdentity.h
38 lines (30 loc) · 1.17 KB
/
InitializeDistActorIdentity.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//===--- 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