Created
March 18, 2024 21:15
-
-
Save ktoso/92d39ddf7d3ff732ea53ce675b63d70e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[SILGenThunk.cpp:129](emitDistributedThunkForDecl) VAR THUNK IS: | |
(accessor_decl implicit <anonymous @ 0x1591115a0> interface type="<ActorSystem where ActorSystem : DistributedActorSystem, ActorSystem.SerializationRequirement == any Decodable & Encodable> (Worker<ActorSystem>) -> () async throws -> String" access=internal final captures=(<generic> ) nonisolated distributed_thunk _distributed_get for="distributedVariable" | |
(parameter "self" interface type="Worker<ActorSystem>" known_to_be_local) | |
(parameter_list) | |
(brace_stmt implicit | |
(if_stmt implicit | |
(conditions=array | |
(call_expr implicit type="Bool" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(AnyObject) -> Bool" decl="Distributed.(file).__isRemoteActor" function_ref=single) | |
(argument_list implicit | |
(argument | |
(erasure_expr implicit type="AnyObject" | |
(declref_expr implicit type="Worker<ActorSystem>" decl="main.(file).Worker.<anonymous>.self known-to-be-local" function_ref=unapplied)))))) | |
(brace_stmt implicit | |
(pattern_binding_decl implicit | |
(pattern_named implicit type="ActorSystem" "system") | |
(original_init=unresolved_dot_expr implicit type="<null>" field="actorSystem" function_ref=unapplied | |
(declref_expr implicit type="Worker<ActorSystem>" decl="main.(file).Worker.<anonymous>.self known-to-be-local" function_ref=unapplied)) | |
(processed_init=member_ref_expr implicit type="ActorSystem" decl="main.(file).Worker.actorSystem [with (substitution_map generic_signature=<ActorSystem where ActorSystem : DistributedActorSystem, ActorSystem.SerializationRequirement == any Decodable & Encodable> ActorSystem -> ActorSystem)]" | |
(declref_expr implicit type="Worker<ActorSystem>" decl="main.(file).Worker.<anonymous>.self known-to-be-local" function_ref=unapplied))) | |
(var_decl implicit "system" interface type="ActorSystem" access=private let readImpl=stored immutable) | |
(pattern_binding_decl implicit | |
(pattern_named implicit type="ActorSystem.InvocationEncoder" "invocation") | |
(original_init=call_expr implicit type="ActorSystem.InvocationEncoder" nothrow isolation_crossing="none" | |
(dot_syntax_call_expr implicit type="() -> ActorSystem.InvocationEncoder" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(ActorSystem) -> () -> ActorSystem.InvocationEncoder" decl="Distributed.(file).DistributedActorSystem.makeInvocationEncoder() [with (substitution_map generic_signature=<Self where Self : DistributedActorSystem> Self -> ActorSystem)]" function_ref=single) | |
(argument_list implicit | |
(argument | |
(declref_expr implicit type="ActorSystem" decl="main.(file).Worker.<anonymous>.system" function_ref=unapplied)))) | |
(argument_list implicit)) | |
(processed_init=call_expr implicit type="ActorSystem.InvocationEncoder" nothrow isolation_crossing="none" | |
(dot_syntax_call_expr implicit type="() -> ActorSystem.InvocationEncoder" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(ActorSystem) -> () -> ActorSystem.InvocationEncoder" decl="Distributed.(file).DistributedActorSystem.makeInvocationEncoder() [with (substitution_map generic_signature=<Self where Self : DistributedActorSystem> Self -> ActorSystem)]" function_ref=single) | |
(argument_list implicit | |
(argument | |
(declref_expr implicit type="ActorSystem" decl="main.(file).Worker.<anonymous>.system" function_ref=unapplied)))) | |
(argument_list implicit))) | |
(var_decl implicit "invocation" interface type="ActorSystem.InvocationEncoder" access=private readImpl=stored writeImpl=stored readWriteImpl=stored) | |
(try_expr implicit type="()" | |
(call_expr implicit type="()" throws isolation_crossing="none" | |
(dot_syntax_call_expr implicit type="(ActorSystem.Type) throws -> ()" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(inout ActorSystem.InvocationEncoder) -> (ActorSystem.Type) throws -> ()" decl="Distributed.(file).DistributedTargetInvocationEncoder.recordGenericSubstitution [with (substitution_map generic_signature=<Self, T where Self : DistributedTargetInvocationEncoder> Self -> ActorSystem.InvocationEncoder T -> ActorSystem)]" function_ref=single) | |
(argument_list implicit | |
(argument inout | |
(inout_expr implicit type="inout ActorSystem.InvocationEncoder" | |
(declref_expr implicit type="@lvalue ActorSystem.InvocationEncoder" decl="main.(file).Worker.<anonymous>.invocation" function_ref=unapplied))))) | |
(argument_list implicit | |
(argument | |
(dot_self_expr type="ActorSystem.Type" | |
(type_expr implicit type="ActorSystem.Type" null_typerepr)))))) | |
(try_expr implicit type="()" | |
(call_expr implicit type="()" throws isolation_crossing="none" | |
(dot_syntax_call_expr implicit type="(String.Type) throws -> ()" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(inout ActorSystem.InvocationEncoder) -> (String.Type) throws -> ()" decl="Distributed.(file).DistributedTargetInvocationEncoder.recordReturnType [with (substitution_map generic_signature=<Self, R where Self : DistributedTargetInvocationEncoder> Self -> ActorSystem.InvocationEncoder R -> String)]" function_ref=single) | |
(argument_list implicit | |
(argument inout | |
(inout_expr implicit type="inout ActorSystem.InvocationEncoder" | |
(declref_expr implicit type="@lvalue ActorSystem.InvocationEncoder" decl="main.(file).Worker.<anonymous>.invocation" function_ref=unapplied))))) | |
(argument_list implicit | |
(argument | |
(dot_self_expr type="String.Type" | |
(type_expr implicit type="String.Type" null_typerepr)))))) | |
(try_expr implicit type="()" | |
(call_expr implicit type="()" throws isolation_crossing="none" | |
(dot_syntax_call_expr implicit type="() throws -> ()" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(inout ActorSystem.InvocationEncoder) -> () throws -> ()" decl="Distributed.(file).DistributedTargetInvocationEncoder.doneRecording() [with (substitution_map generic_signature=<Self where Self : DistributedTargetInvocationEncoder> Self -> ActorSystem.InvocationEncoder)]" function_ref=single) | |
(argument_list implicit | |
(argument inout | |
(inout_expr implicit type="inout ActorSystem.InvocationEncoder" | |
(declref_expr implicit type="@lvalue ActorSystem.InvocationEncoder" decl="main.(file).Worker.<anonymous>.invocation" function_ref=unapplied))))) | |
(argument_list implicit))) | |
(pattern_binding_decl implicit | |
(pattern_named implicit type="RemoteCallTarget" "target") | |
(original_init=call_expr implicit type="RemoteCallTarget" nothrow isolation_crossing="none" | |
(constructor_ref_call_expr implicit type="(String) -> RemoteCallTarget" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(RemoteCallTarget.Type) -> (String) -> RemoteCallTarget" decl="Distributed.(file).RemoteCallTarget.init(_:)" function_ref=single) | |
(argument_list implicit | |
(argument | |
(type_expr implicit type="RemoteCallTarget.Type" typerepr="RemoteCallTarget")))) | |
(argument_list implicit | |
(argument | |
(string_literal_expr implicit type="String" encoding=utf8 value="$s4main6WorkerC19distributedVariableSSyYaKFTE" builtin_initializer="Swift.(file).String extension.init(_builtinStringLiteral:utf8CodeUnitCount:isASCII:)" initializer="**NULL**")))) | |
(processed_init=call_expr implicit type="RemoteCallTarget" nothrow isolation_crossing="none" | |
(constructor_ref_call_expr implicit type="(String) -> RemoteCallTarget" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(RemoteCallTarget.Type) -> (String) -> RemoteCallTarget" decl="Distributed.(file).RemoteCallTarget.init(_:)" function_ref=single) | |
(argument_list implicit | |
(argument | |
(type_expr implicit type="RemoteCallTarget.Type" typerepr="RemoteCallTarget")))) | |
(argument_list implicit | |
(argument | |
(string_literal_expr implicit type="String" encoding=utf8 value="$s4main6WorkerC19distributedVariableSSyYaKFTE" builtin_initializer="Swift.(file).String extension.init(_builtinStringLiteral:utf8CodeUnitCount:isASCII:)" initializer="**NULL**"))))) | |
(var_decl implicit "target" interface type="RemoteCallTarget" access=private let readImpl=stored immutable) | |
(return_stmt implicit | |
(try_expr implicit type="String" | |
(await_expr implicit type="String" | |
(call_expr implicit type="String" throws isolation_crossing="none" | |
(dot_syntax_call_expr implicit type="(Worker<ActorSystem>, RemoteCallTarget, inout ActorSystem.InvocationEncoder, Never.Type, String.Type) async throws -> String" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(ActorSystem) -> (Worker<ActorSystem>, RemoteCallTarget, inout ActorSystem.InvocationEncoder, Never.Type, String.Type) async throws -> String" decl="Distributed.(file).DistributedActorSystem.remoteCall(on:target:invocation:throwing:returning:) [with (substitution_map generic_signature=<Self, Act, Err, Res where Self : DistributedActorSystem, Act : DistributedActor, Err : Error, Self.ActorID == Act.ID> Self -> ActorSystem Act -> Worker<ActorSystem> Err -> Never Res -> String)]" function_ref=single) | |
(argument_list implicit | |
(argument | |
(declref_expr implicit type="ActorSystem" decl="main.(file).Worker.<anonymous>.system" function_ref=unapplied)))) | |
(argument_list implicit labels="on:target:invocation:throwing:returning:" | |
(argument label="on" | |
(declref_expr implicit type="Worker<ActorSystem>" decl="main.(file).Worker.<anonymous>.self known-to-be-local" function_ref=unapplied)) | |
(argument label="target" | |
(declref_expr implicit type="RemoteCallTarget" decl="main.(file).Worker.<anonymous>.target" function_ref=unapplied)) | |
(argument label="invocation" inout | |
(inout_expr implicit type="inout ActorSystem.InvocationEncoder" | |
(declref_expr implicit type="@lvalue ActorSystem.InvocationEncoder" decl="main.(file).Worker.<anonymous>.invocation" function_ref=unapplied))) | |
(argument label="throwing" | |
(dot_self_expr type="Never.Type" | |
(type_expr implicit type="Never.Type" typerepr="Never"))) | |
(argument label="returning" | |
(dot_self_expr type="String.Type" | |
(type_expr implicit type="String.Type" null_typerepr))))))))) | |
(brace_stmt implicit | |
(return_stmt implicit | |
(await_expr implicit type="String" | |
(member_ref_expr implicit type="String" decl="main.(file).Worker.distributedVariable@/Users/ktoso/code/swift-project/swift/test/Distributed/Runtime/distributed_actor_localSystem_distributed_property.swift:18:19 [with (substitution_map generic_signature=<ActorSystem where ActorSystem : DistributedActorSystem, ActorSystem.SerializationRequirement == any Decodable & Encodable> ActorSystem -> ActorSystem)]" | |
(declref_expr implicit type="Worker<ActorSystem>" decl="main.(file).Worker.<anonymous>.self known-to-be-local" function_ref=unapplied)))))))) | |
Assertion failed: (ThrowDest.isValid() && "calling emitThrow with invalid throw destination!"), function emitThrow, file SILGenStmt.cpp, line 1536. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(func_decl implicit "distributedMethod()" interface type="<ActorSystem where ActorSystem : DistributedActorSystem, ActorSystem.SerializationRequirement == any Decodable & Encodable> (Worker<ActorSystem>) -> () async throws -> String" access=internal final captures=(<generic> ) nonisolated distributed_thunk | |
(parameter "self" interface type="Worker<ActorSystem>" known_to_be_local) | |
(parameter_list) | |
(brace_stmt implicit | |
(if_stmt implicit | |
(conditions=array | |
(call_expr implicit type="Bool" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(AnyObject) -> Bool" decl="Distributed.(file).__isRemoteActor" function_ref=single) | |
(argument_list implicit | |
(argument | |
(erasure_expr implicit type="AnyObject" | |
(declref_expr implicit type="Worker<ActorSystem>" decl="main.(file).Worker.distributedMethod().self known-to-be-local" function_ref=unapplied)))))) | |
(brace_stmt implicit | |
(pattern_binding_decl implicit | |
(pattern_named implicit type="ActorSystem" "system") | |
(original_init=unresolved_dot_expr implicit type="<null>" field="actorSystem" function_ref=unapplied | |
(declref_expr implicit type="Worker<ActorSystem>" decl="main.(file).Worker.distributedMethod().self known-to-be-local" function_ref=unapplied)) | |
(processed_init=member_ref_expr implicit type="ActorSystem" decl="main.(file).Worker.actorSystem [with (substitution_map generic_signature=<ActorSystem where ActorSystem : DistributedActorSystem, ActorSystem.SerializationRequirement == any Decodable & Encodable> ActorSystem -> ActorSystem)]" | |
(declref_expr implicit type="Worker<ActorSystem>" decl="main.(file).Worker.distributedMethod().self known-to-be-local" function_ref=unapplied))) | |
(var_decl implicit "system" interface type="ActorSystem" access=private let readImpl=stored immutable) | |
(pattern_binding_decl implicit | |
(pattern_named implicit type="ActorSystem.InvocationEncoder" "invocation") | |
(original_init=call_expr implicit type="ActorSystem.InvocationEncoder" nothrow isolation_crossing="none" | |
(dot_syntax_call_expr implicit type="() -> ActorSystem.InvocationEncoder" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(ActorSystem) -> () -> ActorSystem.InvocationEncoder" decl="Distributed.(file).DistributedActorSystem.makeInvocationEncoder() [with (substitution_map generic_signature=<Self where Self : DistributedActorSystem> Self -> ActorSystem)]" function_ref=single) | |
(argument_list implicit | |
(argument | |
(declref_expr implicit type="ActorSystem" decl="main.(file).Worker.distributedMethod().system" function_ref=unapplied)))) | |
(argument_list implicit)) | |
(processed_init=call_expr implicit type="ActorSystem.InvocationEncoder" nothrow isolation_crossing="none" | |
(dot_syntax_call_expr implicit type="() -> ActorSystem.InvocationEncoder" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(ActorSystem) -> () -> ActorSystem.InvocationEncoder" decl="Distributed.(file).DistributedActorSystem.makeInvocationEncoder() [with (substitution_map generic_signature=<Self where Self : DistributedActorSystem> Self -> ActorSystem)]" function_ref=single) | |
(argument_list implicit | |
(argument | |
(declref_expr implicit type="ActorSystem" decl="main.(file).Worker.distributedMethod().system" function_ref=unapplied)))) | |
(argument_list implicit))) | |
(var_decl implicit "invocation" interface type="ActorSystem.InvocationEncoder" access=private readImpl=stored writeImpl=stored readWriteImpl=stored) | |
(try_expr implicit type="()" | |
(call_expr implicit type="()" throws isolation_crossing="none" | |
(dot_syntax_call_expr implicit type="(ActorSystem.Type) throws -> ()" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(inout ActorSystem.InvocationEncoder) -> (ActorSystem.Type) throws -> ()" decl="Distributed.(file).DistributedTargetInvocationEncoder.recordGenericSubstitution [with (substitution_map generic_signature=<Self, T where Self : DistributedTargetInvocationEncoder> Self -> ActorSystem.InvocationEncoder T -> ActorSystem)]" function_ref=single) | |
(argument_list implicit | |
(argument inout | |
(inout_expr implicit type="inout ActorSystem.InvocationEncoder" | |
(declref_expr implicit type="@lvalue ActorSystem.InvocationEncoder" decl="main.(file).Worker.distributedMethod().invocation" function_ref=unapplied))))) | |
(argument_list implicit | |
(argument | |
(dot_self_expr type="ActorSystem.Type" | |
(type_expr implicit type="ActorSystem.Type" null_typerepr)))))) | |
(try_expr implicit type="()" | |
(call_expr implicit type="()" throws isolation_crossing="none" | |
(dot_syntax_call_expr implicit type="(String.Type) throws -> ()" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(inout ActorSystem.InvocationEncoder) -> (String.Type) throws -> ()" decl="Distributed.(file).DistributedTargetInvocationEncoder.recordReturnType [with (substitution_map generic_signature=<Self, R where Self : DistributedTargetInvocationEncoder> Self -> ActorSystem.InvocationEncoder R -> String)]" function_ref=single) | |
(argument_list implicit | |
(argument inout | |
(inout_expr implicit type="inout ActorSystem.InvocationEncoder" | |
(declref_expr implicit type="@lvalue ActorSystem.InvocationEncoder" decl="main.(file).Worker.distributedMethod().invocation" function_ref=unapplied))))) | |
(argument_list implicit | |
(argument | |
(dot_self_expr type="String.Type" | |
(type_expr implicit type="String.Type" null_typerepr)))))) | |
(try_expr implicit type="()" | |
(call_expr implicit type="()" throws isolation_crossing="none" | |
(dot_syntax_call_expr implicit type="() throws -> ()" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(inout ActorSystem.InvocationEncoder) -> () throws -> ()" decl="Distributed.(file).DistributedTargetInvocationEncoder.doneRecording() [with (substitution_map generic_signature=<Self where Self : DistributedTargetInvocationEncoder> Self -> ActorSystem.InvocationEncoder)]" function_ref=single) | |
(argument_list implicit | |
(argument inout | |
(inout_expr implicit type="inout ActorSystem.InvocationEncoder" | |
(declref_expr implicit type="@lvalue ActorSystem.InvocationEncoder" decl="main.(file).Worker.distributedMethod().invocation" function_ref=unapplied))))) | |
(argument_list implicit))) | |
(pattern_binding_decl implicit | |
(pattern_named implicit type="RemoteCallTarget" "target") | |
(original_init=call_expr implicit type="RemoteCallTarget" nothrow isolation_crossing="none" | |
(constructor_ref_call_expr implicit type="(String) -> RemoteCallTarget" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(RemoteCallTarget.Type) -> (String) -> RemoteCallTarget" decl="Distributed.(file).RemoteCallTarget.init(_:)" function_ref=single) | |
(argument_list implicit | |
(argument | |
(type_expr implicit type="RemoteCallTarget.Type" typerepr="RemoteCallTarget")))) | |
(argument_list implicit | |
(argument | |
(string_literal_expr implicit type="String" encoding=utf8 value="$s4main6WorkerC17distributedMethodSSyYaKFTE" builtin_initializer="Swift.(file).String extension.init(_builtinStringLiteral:utf8CodeUnitCount:isASCII:)" initializer="**NULL**")))) | |
(processed_init=call_expr implicit type="RemoteCallTarget" nothrow isolation_crossing="none" | |
(constructor_ref_call_expr implicit type="(String) -> RemoteCallTarget" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(RemoteCallTarget.Type) -> (String) -> RemoteCallTarget" decl="Distributed.(file).RemoteCallTarget.init(_:)" function_ref=single) | |
(argument_list implicit | |
(argument | |
(type_expr implicit type="RemoteCallTarget.Type" typerepr="RemoteCallTarget")))) | |
(argument_list implicit | |
(argument | |
(string_literal_expr implicit type="String" encoding=utf8 value="$s4main6WorkerC17distributedMethodSSyYaKFTE" builtin_initializer="Swift.(file).String extension.init(_builtinStringLiteral:utf8CodeUnitCount:isASCII:)" initializer="**NULL**"))))) | |
(var_decl implicit "target" interface type="RemoteCallTarget" access=private let readImpl=stored immutable) | |
(return_stmt implicit | |
(try_expr implicit type="String" | |
(await_expr implicit type="String" | |
(call_expr implicit type="String" throws isolation_crossing="none" | |
(dot_syntax_call_expr implicit type="(Worker<ActorSystem>, RemoteCallTarget, inout ActorSystem.InvocationEncoder, Never.Type, String.Type) async throws -> String" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(ActorSystem) -> (Worker<ActorSystem>, RemoteCallTarget, inout ActorSystem.InvocationEncoder, Never.Type, String.Type) async throws -> String" decl="Distributed.(file).DistributedActorSystem.remoteCall(on:target:invocation:throwing:returning:) [with (substitution_map generic_signature=<Self, Act, Err, Res where Self : DistributedActorSystem, Act : DistributedActor, Err : Error, Self.ActorID == Act.ID> Self -> ActorSystem Act -> Worker<ActorSystem> Err -> Never Res -> String)]" function_ref=single) | |
(argument_list implicit | |
(argument | |
(declref_expr implicit type="ActorSystem" decl="main.(file).Worker.distributedMethod().system" function_ref=unapplied)))) | |
(argument_list implicit labels="on:target:invocation:throwing:returning:" | |
(argument label="on" | |
(declref_expr implicit type="Worker<ActorSystem>" decl="main.(file).Worker.distributedMethod().self known-to-be-local" function_ref=unapplied)) | |
(argument label="target" | |
(declref_expr implicit type="RemoteCallTarget" decl="main.(file).Worker.distributedMethod().target" function_ref=unapplied)) | |
(argument label="invocation" inout | |
(inout_expr implicit type="inout ActorSystem.InvocationEncoder" | |
(declref_expr implicit type="@lvalue ActorSystem.InvocationEncoder" decl="main.(file).Worker.distributedMethod().invocation" function_ref=unapplied))) | |
(argument label="throwing" | |
(dot_self_expr type="Never.Type" | |
(type_expr implicit type="Never.Type" typerepr="Never"))) | |
(argument label="returning" | |
(dot_self_expr type="String.Type" | |
(type_expr implicit type="String.Type" null_typerepr))))))))) | |
(brace_stmt implicit | |
(return_stmt implicit | |
(await_expr implicit type="String" | |
(call_expr implicit type="String" nothrow isolation_crossing="{caller='nonisolated', callee='actor-isolated to instance of distributed actor Worker'}" | |
(dot_syntax_call_expr implicit type="() -> String" nothrow isolation_crossing="none" | |
(declref_expr implicit type="(isolated Worker<ActorSystem>) -> () -> String" decl="main.(file).Worker.distributedMethod()@/Users/ktoso/code/swift-project/swift/test/Distributed/Runtime/distributed_actor_localSystem_distributed_property.swift:25:20 [with (substitution_map generic_signature=<ActorSystem where ActorSystem : DistributedActorSystem, ActorSystem.SerializationRequirement == any Decodable & Encodable> ActorSystem -> ActorSystem)]" function_ref=single) | |
(argument_list implicit | |
(argument | |
(declref_expr implicit type="Worker<ActorSystem>" decl="main.(file).Worker.distributedMethod().self known-to-be-local" function_ref=unapplied)))) | |
(argument_list implicit)))))))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment