@@ -14,28 +14,30 @@ def test(self):
14
14
frame = thread .selected_frame
15
15
self .assertEqual (frame .GuessLanguage (), lldb .eLanguageTypeC_plus_plus_11 )
16
16
self .assertEqual (frame .name , "f()" )
17
+
18
+ # Test `help`.
17
19
self .expect (
18
20
"help demangle" ,
19
21
substrs = [
20
22
"Demangle a C++ mangled name." ,
21
23
"Syntax: language cplusplus demangle [<mangled-name> ...]" ,
22
24
],
23
25
)
24
- self .expect ("demangle _Z1fv" , startstr = "_Z1fv ---> f()" )
25
26
26
- # Switch the objc caller.
27
+ # Run a `language cplusplus` command.
28
+ self .expect (f"demangle _Z1fv" , startstr = "_Z1fv ---> f()" )
29
+ # Test prefix matching.
30
+ self .expect ("dem _Z1fv" , startstr = "_Z1fv ---> f()" )
31
+
32
+ # Select the objc caller.
27
33
self .runCmd ("up" )
28
34
frame = thread .selected_frame
29
35
self .assertEqual (frame .GuessLanguage (), lldb .eLanguageTypeObjC_plus_plus )
30
36
self .assertEqual (frame .name , "main" )
37
+
38
+ # Ensure `demangle` doesn't resolve from the objc frame.
31
39
self .expect ("help demangle" , error = True )
32
- self .expect (
33
- "help tagged-pointer" ,
34
- substrs = [
35
- "Commands for operating on Objective-C tagged pointers." ,
36
- "Syntax: class-table <subcommand> [<subcommand-options>]" ,
37
- ],
38
- )
40
+ # Run a `language objc` command.
39
41
self .expect (
40
42
"tagged-pointer info 0" ,
41
43
error = True ,
0 commit comments