2 A test for the curiously recurring template pattern (or CRTP).
4 Note that the derived class is referenced directly from the parent class in the
5 test. If this fails then there is a good chance that LLDB tried to eagerly
6 resolve the definition of the derived class while constructing the base class.
10 from lldbsuite
.test
.decorators
import *
11 from lldbsuite
.test
.lldbtest
import *
12 from lldbsuite
.test
import lldbutil
15 class TestCase(TestBase
):
19 self
.createTestTarget()
21 # Try using the class in the expression evaluator.
24 result_type
="Derived",
26 ValueCheck(name
="Base<Derived>"),
27 ValueCheck(name
="member", value
="0"),
31 # Try accessing the members of the class and base class.
32 self
.expect_expr("derived.pointer", result_type
="Derived *")
33 self
.expect_expr("derived.member", result_type
="int", result_value
="0")