1"""
2Test that the the expression parser enables ObjC support
3when stopped in a C++ frame without debug-info.
4"""
5
6import lldb
7from lldbsuite.test.decorators import *
8from lldbsuite.test.lldbtest import *
9from lldbsuite.test import lldbutil
10
11
12class TestObjCFromCppFramesWithoutDebugInfo(TestBase):
13    def test(self):
14        self.build()
15        (_, process, _, _) = lldbutil.run_to_name_breakpoint(self, "main")
16
17        self.assertState(process.GetState(), lldb.eStateStopped)
18
19        # Tests that we can use builtin Objective-C identifiers.
20        self.expect("expr id", error=False)
21
22        # Tests that we can lookup Objective-C decls in the ObjC runtime plugin.
23        self.expect_expr(
24            "NSString *c; c == nullptr", result_value="true", result_type="bool"
25        )
26