import sys, ast sys.path.insert(0, '.') from lib.includes.t import CTypeRegistry CTypeRegistry._build() from lib.core.Handles.HandlesBase import CTypeInfo from lib.core.Handles.HandlesTypeMerge import TypeMergeHandler from lib.includes import t class MockTrans: SymbolTable = {} trans = MockTrans() handler = TypeMergeHandler(trans) # Parse "t.CVoid | t.CPtr" code = "t.CVoid | t.CPtr" tree = ast.parse(code, mode='eval') binop = tree.body result = handler.MergeTypes(binop) if result: print(f'MergeTypes(t.CVoid | t.CPtr):') print(f' BaseType: {result.BaseType}') print(f' PtrCount: {result.PtrCount}') print(f' IsVoid: {result.IsVoid}') print(f' IsPtr: {result.IsPtr}') print(f' IsTypedef: {result.IsTypedef}') print(f' Name: {result.Name}') print(f' ToString: {result.ToString()}') else: print('MergeTypes returned None')