Skip to content

Commit 526ee8b

Browse files
Merge pull request #7135 from adrian-prantl/assert-typeref
Assert that REPL result variables are in the typeref typesystem (NFC)
2 parents db8c62e + 4533c94 commit 526ee8b

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

lldb/source/Plugins/ExpressionParser/Swift/SwiftExpressionParser.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -874,10 +874,12 @@ MaterializeVariable(SwiftASTManipulatorBase::VariableInfo &variable,
874874
needs_init = true;
875875

876876
Status error;
877-
878877
if (repl) {
879878
if (!variable.GetType().IsVoidType()) {
880879
auto &repl_mat = *llvm::cast<SwiftREPLMaterializer>(&materializer);
880+
assert(variable.GetType()
881+
.GetTypeSystem()
882+
.isa_and_nonnull<TypeSystemSwiftTypeRef>());
881883
offset = repl_mat.AddREPLResultVariable(
882884
variable.GetType(), variable.GetDecl(),
883885
is_result ? &user_expression.GetResultDelegate()
@@ -909,6 +911,8 @@ MaterializeVariable(SwiftASTManipulatorBase::VariableInfo &variable,
909911
ToCompilerType(transformed_type->mapTypeOutOfContext().getPointer());
910912
auto swift_ast_ctx =
911913
actual_type.GetTypeSystem().dyn_cast_or_null<SwiftASTContext>();
914+
if (!swift_ast_ctx)
915+
return {};
912916

913917
actual_type =
914918
swift_ast_ctx->GetTypeRefType(actual_type.GetOpaqueQualType());

0 commit comments

Comments
 (0)