138f8fceaSMichael Buch"""
238f8fceaSMichael BuchTest that the the expression parser enables ObjC support
338f8fceaSMichael Buchwhen stopped in a C++ frame without debug-info.
438f8fceaSMichael Buch"""
538f8fceaSMichael Buch
638f8fceaSMichael Buchimport lldb
738f8fceaSMichael Buchfrom lldbsuite.test.decorators import *
838f8fceaSMichael Buchfrom lldbsuite.test.lldbtest import *
938f8fceaSMichael Buchfrom lldbsuite.test import lldbutil
1038f8fceaSMichael Buch
1138f8fceaSMichael Buch
1238f8fceaSMichael Buchclass TestObjCFromCppFramesWithoutDebugInfo(TestBase):
1338f8fceaSMichael Buch    def test(self):
1438f8fceaSMichael Buch        self.build()
1538f8fceaSMichael Buch        (_, process, _, _) = lldbutil.run_to_name_breakpoint(self, "main")
1638f8fceaSMichael Buch
1738f8fceaSMichael Buch        self.assertState(process.GetState(), lldb.eStateStopped)
18*9e6ea387SMichael Buch
19*9e6ea387SMichael Buch        # Tests that we can use builtin Objective-C identifiers.
2038f8fceaSMichael Buch        self.expect("expr id", error=False)
21*9e6ea387SMichael Buch
22*9e6ea387SMichael Buch        # Tests that we can lookup Objective-C decls in the ObjC runtime plugin.
23*9e6ea387SMichael Buch        self.expect_expr(
24*9e6ea387SMichael Buch            "NSString *c; c == nullptr", result_value="true", result_type="bool"
25*9e6ea387SMichael Buch        )
26