diff --git a/CppHeaderParser/CppHeaderParser.py b/CppHeaderParser/CppHeaderParser.py index 7b07900..cb8fda2 100644 --- a/CppHeaderParser/CppHeaderParser.py +++ b/CppHeaderParser/CppHeaderParser.py @@ -1957,6 +1957,7 @@ def finalize(self): "static": 0, "pointer": 0, "reference": 0, + "typedefs": 0, } self.resolve_type(meth["rtnType"], rtnType) if not rtnType["unresolved"]: diff --git a/test/test_CppHeaderParser.py b/test/test_CppHeaderParser.py index a876d87..d3f54e7 100644 --- a/test/test_CppHeaderParser.py +++ b/test/test_CppHeaderParser.py @@ -3868,5 +3868,30 @@ def test_fn(self): self.assertEqual(c["type"], "C") +class MoreTypedef(unittest.TestCase): + def setUp(self): + self.cppHeader = CppHeaderParser.CppHeader( + """ +typedef C A; + +class B { +public: + A aMethod(); +}; +""", + "string", + ) + + def test_fn(self): + c = self.cppHeader.classes["B"] + self.assertEqual("B", c["name"]) + + m = c["methods"]["public"][0] + self.assertEqual(m["name"], "aMethod") + self.assertEqual(m["rtnType"], "A") + + self.assertEqual(self.cppHeader.typedefs["A"], "C") + + if __name__ == "__main__": unittest.main()