Skip to content

Conversation

@adrian-prantl
Copy link

…texts.

@adrian-prantl
Copy link
Author

@swift-ci test

@adrian-prantl adrian-prantl merged commit ab2b421 into swiftlang:stable/20221013 Mar 20, 2023
// pointers in the wrapper, so we can pass them as opaque pointers in the
// trampoline function later on.
if (m_bind_generic_types == lldb::eDontBind && variable.IsMetadataPointer())
if (m_bind_generic_types == lldb::eDontBind &&

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we relying in the same --bind-generic-types mechanism to enable this behavior? It seems to me this would never work in the "bind" mode.

return {};
return swift::Type(it->second);
}
//swift_ast_ctx->GetBuiltinRawPointerType());

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stray commented out line.

// in that case.
const auto introducer = variable.IsSelf() ? swift::VarDecl::Introducer::Var
: variable.GetVarIntroducer();
const auto introducer = (variable.IsSelf() || variable.IsUnboundPack())

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm curious, why does the unbound pack need to be mutated?

subs) {
auto tss = type.GetTypeSystem().dyn_cast_or_null<TypeSystemSwift>();
if (!tss)
return "<unexpected typesystem>";

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this function should return an llvm::Expected?

/// lldb_sink($__lldb_arg, $__lldb_injected_self, $τ_0_0, $τ_0_1, ..., $τ_0_n)
static CallsAndArgs MakeGenericSignaturesAndCalls(
llvm::ArrayRef<SwiftASTManipulator::VariableInfo> local_variables) {
static llvm::Expected<CallsAndArgs> MakeGenericSignaturesAndCalls(

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Update the doxygen comment explaining the new functionality and the new parameters?

/// lldb_sink($__lldb_arg, $__lldb_injected_self, $τ_0_0, $τ_0_1, ..., $τ_0_n)
static CallsAndArgs MakeGenericSignaturesAndCalls(
llvm::ArrayRef<SwiftASTManipulator::VariableInfo> local_variables) {
static llvm::Expected<CallsAndArgs> MakeGenericSignaturesAndCalls(

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This functions seems to be doing quite a lot now, and a lot of the new behavior depends on whether generic_sig exists and if needs_object_ptr is true/false, I wonder if it'd be possible to split it up in maybe 2,3 functions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants