summaryrefslogtreecommitdiff
path: root/tools/libdemangle/demangle_test.py
blob: eb48e1b87e3fe253153ae51ec02d2cf83f79a46a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98

from .demangle import *

def demangle_test():
    """
    Test a few problematic mangled names. 
    """

    import rich
    import logging
    import sys

    from rich.console import Console
    from rich.logging import RichHandler

    CONSOLE = Console()

    logging.basicConfig(
        level="NOTSET",
        format="%(message)s",
        datefmt="[%X]",
        handlers=[RichHandler(console=CONSOLE, rich_tracebacks=True)]
    )

    LOG = logging.getLogger("rich")
    LOG.setLevel(logging.INFO)

    LOG.info("---------------------------------------------------------")
    LOG.info("      C++ demangler for Metrowerks")
    LOG.info("---------------------------------------------------------")

    def dm(name):
        LOG.info("demangle:")
        LOG.info(f"\t{name}")
        try:
            p = ParseCtx(name)
            p.demangle()
            LOG.info(f"\t{p.to_str()}")
            LOG.info("\t'OK'")
        except ParseError as e:
            LOG.error(e)
            LOG.error(p.func_name)
            LOG.error(p.class_name)
            LOG.error(p.mangled)
            LOG.error(p.index)
            LOG.error(p.mangled[p.index:])
            LOG.error(p)
            CONSOLE.print_exception()
            sys.exit(1)

    dm("mDoExt_J3DModel__create__FP12J3DModelDataUlUl")
    dm("JAISeMgr_startID___5JAISeF10JAISoundIDPCQ29JGeometry8TVec3<f>P11JAIAudience")
    dm("checkProcess__18daTag_BottleItem_cFM18daTag_BottleItem_cFPCvPvPv_i")
    dm("_unresolved")
    dm("__sinit_d_a_obj_heavySw_cpp")
    dm("__dt__26__partial_array_destructorFv")
    dm("mDoAud_Create__Fv")
    dm("OSPanic")
    dm("countUsed__FP10JKRExpHeap")
    dm("OSVAttention__FPCcP16__va_list_struct")
    dm("mDoPrintf_vprintf_Interrupt__FPCcP16__va_list_struct")
    dm("mDoPrintf_vprintf_Thread__FPCcP16__va_list_struct")
    dm("mDoPrintf_vprintf__FPCcP16__va_list_struct")
    dm("dKy_Draw__FP17sub_kankyo__class")
    dm("dKy_Execute__FP17sub_kankyo__class")
    dm("dKy_IsDelete__FP17sub_kankyo__class")
    dm("dKy_Delete__FP17sub_kankyo__class")
    dm("__dt__26__partial_array_destructorFv")
    dm("setJSG_ID___Q214JStudio_JStage14TAdaptor_actorFMQ26JStage6TActorFPCvPvUl_vQ37JStudio4data15TEOperationDataPCvUl")
    dm("set__Q23std16__bitset_base<8>FUlb")
    dm("reset__Q23std16__bitset_base<8>FUl")
    dm("test__Q23std16__bitset_base<8>CFUl")
    dm("__ct__Q23std16__bitset_base<8>Fv")
    dm("panic_f_va__12JUTExceptionFPCciPCcP16__va_list_struct")
    dm("printSub__14JUTDirectPrintFUsUsPCcP16__va_list_structb")
    dm("TRK__write_aram")
    dm("TRK__read_aram")
    dm("JAISeMgr_startID___5JAISeF10JAISoundIDPCQ29JGeometry8TVec3<f>P11JAIAudience")
    dm("__dt__83J3DMtxCalcNoAnm<32J3DMtxCalcCalcTransformSoftimage,29J3DMtxCalcJ3DSysInitSoftimage>Fv")
    dm("JSUConvertOffsetToPtr<19J3DMaterialInitData>__FPCvPCv")
    dm("__dt__21JSUList<10JUTGamePad>Fv")
    dm("setAnmTransform__114J3DMtxCalcAnimation<64J3DMtxCalcAnimationAdaptorDefault<27J3DMtxCalcCalcTransformMaya>,24J3DMtxCalcJ3DSysInitMaya>FP15J3DAnmTransform")
    dm("__ct__6JAISeqFP9JAISeqMgrP28JAISoundStrategyMgr<6JAISeq>")
    dm("__ct__Q23std16__bitset_base<8>Fv")
    dm("append__16JAUSeqDataBlocksFP26JSULink<15JAUSeqDataBlock>")
    dm("getBank__17JASBankTable<256>CFUl")
    dm("reset__Q23std16__bitset_base<8>FUl")
    dm("JSUConvertOffsetToPtr<A3_A4_f>__FPCvPCv")
    dm("newStreamAram__26JAUStreamStaticAramMgr_<1>FPUl")
    dm("find_if<Q37JGadget37TLinkList<Q37JStudio3ctb7TObject,-12>8iterator,Q37JStudio6object18TPRObject_ID_equal>__3stdFQ37JGadget37TLinkList<Q37JStudio3ctb7TObject,-12>8iteratorQ37JGadget37TLinkList<Q37JStudio3ctb7TObject,-12>8iteratorQ37JStudio6object18TPRObject_ID_equal")
    dm("getMyActIdx__16dEvent_manager_cFiPCPCciii")
    dm("insert__Q27JGadget20TVector_pointer_voidFPPvRCPv")
    dm("setString__17dMsgScrn3Select_cFPcPcPc")
    dm("chkAction__13daNpc_yamiS_cFM13daNpc_yamiS_cFPCvPvPv_i")

    sys.exit()