Goose  Diff

Differences From Artifact [0a1ca10543]:

  • File bs/g0api/extensibility/types.h — part of check-in [4a571387ed] at 2021-09-17 23:04:29 on branch trunk — g0api, builtins: got rid of TermWrapper and ValueWrapper, use specializations of TypeWrapper instead to allow for more generic code (user: achavasse size: 1636)

To Artifact [3db8f9215c]:

  • File bs/g0api/extensibility/types.h — part of check-in [447824df93] at 2021-09-18 18:43:50 on branch trunk — g0 api: more work on the CIR api (user: achavasse size: 1779)

54
55
56
57
58
59
60






61
62
63
64
65
66
67
    struct TypeWrapperTraits< ptr< cir::CFG > >
    {
        static auto typeId() { return "CFG"_sid; }
    };

    template<>
    struct TypeWrapperTraits< ptr< cir::BasicBlock > >






    {
        static auto typeId() { return "BasicBlock"_sid; }
    };

    template<>
    struct TypeWrapperTraits< ptr< cir::Instruction > >
    {







>
>
>
>
>
>







54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
    struct TypeWrapperTraits< ptr< cir::CFG > >
    {
        static auto typeId() { return "CFG"_sid; }
    };

    template<>
    struct TypeWrapperTraits< ptr< cir::BasicBlock > >
    {
        static auto typeId() { return "BasicBlock"_sid; }
    };

    template<>
    struct TypeWrapperTraits< wptr< cir::BasicBlock > >
    {
        static auto typeId() { return "BasicBlock"_sid; }
    };

    template<>
    struct TypeWrapperTraits< ptr< cir::Instruction > >
    {