Skip to content

Commit 0aca635

Browse files
committed
[lldb] Move reference related functions to TypeSystemSwift
Swift has no concept of reference types (at least not from a user's perspective). Both TypeSystemSwiftTypeRef and SwiftASTContext should return invalid types for reference related queries. Unify their implementation in TypeSystemSwift.
1 parent 88b7f32 commit 0aca635

File tree

5 files changed

+15
-50
lines changed

5 files changed

+15
-50
lines changed

lldb/source/Plugins/TypeSystem/Swift/SwiftASTContext.cpp

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6047,27 +6047,6 @@ SwiftASTContext::GetMemberFunctionAtIndex(opaque_compiler_type_t type,
60476047
return TypeMemberFunctionImpl();
60486048
}
60496049

6050-
CompilerType
6051-
SwiftASTContext::GetLValueReferenceType(opaque_compiler_type_t type) {
6052-
return {};
6053-
}
6054-
6055-
CompilerType
6056-
SwiftASTContext::GetRValueReferenceType(opaque_compiler_type_t type) {
6057-
return {};
6058-
}
6059-
6060-
CompilerType SwiftASTContext::GetNonReferenceType(opaque_compiler_type_t type) {
6061-
VALID_OR_RETURN_CHECK_TYPE(type, CompilerType());
6062-
6063-
swift::CanType swift_can_type(GetCanonicalSwiftType(type));
6064-
6065-
swift::LValueType *lvalue = swift_can_type->getAs<swift::LValueType>();
6066-
if (lvalue)
6067-
return ToCompilerType({lvalue->getObjectType().getPointer()});
6068-
return {};
6069-
}
6070-
60716050
CompilerType SwiftASTContext::GetPointeeType(opaque_compiler_type_t type) {
60726051
return {};
60736052
}

lldb/source/Plugins/TypeSystem/Swift/SwiftASTContext.h

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -737,11 +737,7 @@ class SwiftASTContext : public TypeSystemSwift {
737737
std::string GetSuperclassName(const CompilerType &superclass_type);
738738
CompilerType
739739
GetFullyUnqualifiedType(lldb::opaque_compiler_type_t type) override;
740-
CompilerType GetNonReferenceType(lldb::opaque_compiler_type_t type) override;
741-
CompilerType
742-
GetLValueReferenceType(lldb::opaque_compiler_type_t type) override;
743-
CompilerType
744-
GetRValueReferenceType(lldb::opaque_compiler_type_t type) override;
740+
745741
uint32_t GetNumDirectBaseClasses(lldb::opaque_compiler_type_t type) override;
746742
CompilerType GetDirectBaseClassAtIndex(lldb::opaque_compiler_type_t type,
747743
size_t idx,

lldb/source/Plugins/TypeSystem/Swift/TypeSystemSwift.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,20 @@ class TypeSystemSwift : public TypeSystem {
275275
const char *name, ExecutionContext *exe_ctx,
276276
bool omit_empty_base_classes) override;
277277

278+
CompilerType
279+
GetLValueReferenceType(lldb::opaque_compiler_type_t type) override {
280+
return {};
281+
}
282+
283+
CompilerType
284+
GetRValueReferenceType(lldb::opaque_compiler_type_t type) override {
285+
return {};
286+
}
287+
288+
CompilerType GetNonReferenceType(lldb::opaque_compiler_type_t type) override {
289+
return {};
290+
}
291+
278292
/// \}
279293
protected:
280294
/// Used in the logs.

lldb/source/Plugins/TypeSystem/Swift/TypeSystemSwiftTypeRef.cpp

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3534,25 +3534,6 @@ TypeSystemSwiftTypeRef::GetFullyUnqualifiedType(opaque_compiler_type_t type) {
35343534
return swift_ast_context->GetFullyUnqualifiedType(ReconstructType(type));
35353535
return {};
35363536
}
3537-
CompilerType
3538-
TypeSystemSwiftTypeRef::GetNonReferenceType(opaque_compiler_type_t type) {
3539-
if (auto *swift_ast_context = GetSwiftASTContext())
3540-
return swift_ast_context->GetNonReferenceType(ReconstructType(type));
3541-
return {};
3542-
}
3543-
CompilerType
3544-
TypeSystemSwiftTypeRef::GetLValueReferenceType(opaque_compiler_type_t type) {
3545-
auto impl = []() { return CompilerType(); };
3546-
VALIDATE_AND_RETURN(impl, GetLValueReferenceType, type,
3547-
(ReconstructType(type)), (ReconstructType(type)));
3548-
}
3549-
CompilerType
3550-
TypeSystemSwiftTypeRef::GetRValueReferenceType(opaque_compiler_type_t type) {
3551-
auto impl = []() { return CompilerType(); };
3552-
3553-
VALIDATE_AND_RETURN(impl, GetRValueReferenceType, type,
3554-
(ReconstructType(type)), (ReconstructType(type)));
3555-
}
35563537
uint32_t
35573538
TypeSystemSwiftTypeRef::GetNumDirectBaseClasses(opaque_compiler_type_t type) {
35583539
if (auto *swift_ast_context = GetSwiftASTContext())

lldb/source/Plugins/TypeSystem/Swift/TypeSystemSwiftTypeRef.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -230,11 +230,6 @@ class TypeSystemSwiftTypeRef : public TypeSystemSwift {
230230
CompilerType GetTypedefedType(lldb::opaque_compiler_type_t type) override;
231231
CompilerType
232232
GetFullyUnqualifiedType(lldb::opaque_compiler_type_t type) override;
233-
CompilerType GetNonReferenceType(lldb::opaque_compiler_type_t type) override;
234-
CompilerType
235-
GetLValueReferenceType(lldb::opaque_compiler_type_t type) override;
236-
CompilerType
237-
GetRValueReferenceType(lldb::opaque_compiler_type_t type) override;
238233
uint32_t GetNumDirectBaseClasses(lldb::opaque_compiler_type_t type) override;
239234
CompilerType GetDirectBaseClassAtIndex(lldb::opaque_compiler_type_t type,
240235
size_t idx,

0 commit comments

Comments
 (0)