From 4a5bc55769804d003d6cd9f8c16eefb76bb53d1b Mon Sep 17 00:00:00 2001 From: Nagi5Yeq Date: Sun, 31 May 2020 13:11:44 +0800 Subject: full support of array, pointer and record stuffs --- TypeManager.hh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'TypeManager.hh') diff --git a/TypeManager.hh b/TypeManager.hh index 13a98a1..099b505 100644 --- a/TypeManager.hh +++ b/TypeManager.hh @@ -34,8 +34,11 @@ class TypeManager { GetPointerType(std::shared_ptr ElementType, const char* CustomName = nullptr); - // array types and function types are considered unique, unless use type + // record, array and function types are considered unique, unless use type // alias, you can't get the same type as previous call to this function. + std::shared_ptr + CreateRecordType(const std::vector& members); + std::shared_ptr CreateArrayType(std::shared_ptr ElementType, std::shared_ptr start, @@ -63,6 +66,7 @@ class TypeManager { std::map, std::shared_ptr> PointerTypes_; std::vector> FunctionTypes_; std::vector> ArrayTypes_; + std::vector> RecordTypes_; // if we are porting to some 64-bit machines, we can change these types to // 64-bit type, in order to make pointers behave correctly -- cgit