33 lines
877 B
Python
33 lines
877 B
Python
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')
|