Skip to content

Commit fddb3ec

Browse files
Merge pull request #10396 from adrian-prantl/cherry-pick-next-lldb-Convert-inline-test-to-regular-test-NFC
[Cherry-pick into next] [lldb] Convert inline test to regular test (NFC)
2 parents 93fa053 + 15b6595 commit fddb3ec

File tree

3 files changed

+36
-23
lines changed

3 files changed

+36
-23
lines changed

lldb/source/Plugins/LanguageRuntime/Swift/SwiftLanguageRuntimeDynamicTypeResolution.cpp

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -695,6 +695,15 @@ void LogUnimplementedTypeKind(const char *function, CompilerType type) {
695695
#endif
696696
}
697697

698+
CompilerType GetCanonicalClangType(CompilerType type) {
699+
for (unsigned i = 0; i < 32; ++i) {
700+
if (!type.IsTypedefType())
701+
return type;
702+
type = type.GetTypedefedType();
703+
}
704+
return type;
705+
}
706+
698707
} // namespace
699708

700709
llvm::Expected<uint32_t>
@@ -721,6 +730,7 @@ SwiftLanguageRuntime::GetNumChildren(CompilerType type,
721730
if (!clang_type)
722731
ts.IsImportedType(type.GetOpaqueQualType(), &clang_type);
723732
if (clang_type) {
733+
clang_type = GetCanonicalClangType(clang_type);
724734
bool is_signed;
725735
if (clang_type.IsEnumerationType(is_signed))
726736
return 1;
@@ -1150,11 +1160,12 @@ SwiftLanguageRuntime::GetIndexOfChildMemberWithName(
11501160
}
11511161
}
11521162
case TypeInfoKind::Builtin: {
1153-
// Clang enums have an artificial rawValue property.
11541163
CompilerType clang_type;
11551164
if (ts.IsImportedType(type.GetOpaqueQualType(), &clang_type)) {
1165+
clang_type = GetCanonicalClangType(clang_type);
11561166
bool is_signed;
1157-
if (clang_type.IsEnumerationType(is_signed) && name == "rawValue") {
1167+
if (clang_type.IsEnumerationType(is_signed)) {
1168+
// Clang enums have an artificial rawValue property.
11581169
child_indexes.push_back(0);
11591170
return {SwiftLanguageRuntime::eFound, {1}};
11601171
}
Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,19 @@
1-
import lldbsuite.test.lldbinline as lldbinline
1+
import lldb
22
from lldbsuite.test.decorators import *
3+
import lldbsuite.test.lldbtest as lldbtest
4+
import lldbsuite.test.lldbutil as lldbutil
35

4-
lldbinline.MakeInlineTest(
5-
__file__,
6-
globals(),
7-
decorators=[
8-
expectedFailureAll(oslist=["linux"], bugnumber="rdar://83444822"),
9-
swiftTest
10-
])
6+
class TestSwiftDWARFImporterC(lldbtest.TestBase):
7+
8+
@swiftTest
9+
@expectedFailureAll(oslist=["linux"], bugnumber="rdar://83444822")
10+
def test(self):
11+
self.build()
12+
target, process, thread, bkpt = lldbutil.run_to_source_breakpoint(
13+
self, 'break here', lldb.SBFileSpec('main.swift'))
14+
self.expect('frame var -d run-target -- ascending', substrs=['OrderedAscending'])
15+
self.expect('frame var -d run-target -- descending', substrs=['OrderedDescending'])
16+
self.expect('frame var -d run-target -- same', substrs=['OrderedSame'])
17+
self.expect('expr -d run-target -- ascending', substrs=['OrderedAscending'])
18+
self.expect('expr -d run-target -- descending', substrs=['OrderedDescending'])
19+
self.expect('expr -d run-target -- same', substrs=['OrderedSame'])
Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,10 @@
11
import Enum
22

3-
func test()
4-
{
5-
let ascending = getReturn(-1)
6-
let descending = getReturn(1)
7-
let same = getReturn(0)
8-
return //%self.expect('frame var -d run-target -- ascending', substrs=['OrderedAscending'])
9-
//%self.expect('frame var -d run-target -- descending', substrs=['OrderedDescending'])
10-
//%self.expect('frame var -d run-target -- same', substrs=['OrderedSame'])
11-
//%self.expect('expr -d run-target -- ascending', substrs=['OrderedAscending'])
12-
//%self.expect('expr -d run-target -- descending', substrs=['OrderedDescending'])
13-
//%self.expect('expr -d run-target -- same', substrs=['OrderedSame'])
3+
func test() {
4+
let ascending = getReturn(-1)
5+
let descending = getReturn(1)
6+
let same = getReturn(0)
7+
print("break here")
148
}
159

16-
_ = test()
17-
print("this is needed to load the stdlib")
10+
test()

0 commit comments

Comments
 (0)