Goose  Diff

Differences From Artifact [a63419f46d]:

  • File bs/builtins/types/overloadset/overloadset.cpp — part of check-in [2acce94d2d] at 2019-06-29 14:36:18 on branch trunk — Handle execution domains when invoking/unifying functions, template functions, overload sets and constrained funcs. (user: achavasse size: 3162)

To Artifact [de9a92b2ef]:

  • File bs/builtins/types/overloadset/overloadset.cpp — part of check-in [429f55ae3c] at 2019-07-09 22:46:58 on branch trunk — codegen: added builtin functions to create a module and to dump it as llvm assembly text. (user: achavasse size: 3174)

93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
    }

    Value Bridge< ptr< builtins::OverloadSet > >::ToValue( const ptr< builtins::OverloadSet >& os )
    {
        return Value( Type(), TERM( static_pointer_cast< void >( os ) ) );
    }

    ptr< builtins::OverloadSet > Bridge< ptr< builtins::OverloadSet > >::FromValue( const Value& v )
    {
        if( !IsOverloadSet( v ) )
            return nullptr;

        auto result = Decompose( v.val(),
            Val< ptr< void > >()
        );

        if( !result )
            return nullptr;

        return static_pointer_cast< builtins::OverloadSet >( result->get() );
    }
}







|


|






|




93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
    }

    Value Bridge< ptr< builtins::OverloadSet > >::ToValue( const ptr< builtins::OverloadSet >& os )
    {
        return Value( Type(), TERM( static_pointer_cast< void >( os ) ) );
    }

    optional< ptr< builtins::OverloadSet > > Bridge< ptr< builtins::OverloadSet > >::FromValue( const Value& v )
    {
        if( !IsOverloadSet( v ) )
            return nullopt;

        auto result = Decompose( v.val(),
            Val< ptr< void > >()
        );

        if( !result )
            return nullopt;

        return static_pointer_cast< builtins::OverloadSet >( result->get() );
    }
}