Goose  Diff

Differences From Artifact [f1ec6e8e62]:

  • File bs/g0api/extensibility/eir.cpp — part of check-in [914b2e2af1] at 2023-07-05 22:01:09 on branch trunk — Some builtins to work with references during verification:
    • RefToAddr conversion function
    • dot operator overloads to extract the lifetime, origin and path of an address
    (user: zlodo size: 18211)

To Artifact [b9b57e63d4]:

  • File bs/g0api/extensibility/eir.cpp — part of check-in [fc3d788320] at 2023-08-18 18:40:40 on branch trunk — Added helper functions to bind parameters to a proposition list and append its content to a basic block (user: zlodo size: 18426)

178
179
180
181
182
183
184






185
186
187
188
189
190
191
        // StringId
        ////////////////////////////
        RegisterBuiltinFunc< Eager< TypeWrapper< StringId > > ( string ) >( e, "MkStringId"_sid,
            []( string s ) -> TypeWrapper< StringId >
            {
                return s;
            } );







        ////////////////////////////
        // Hole
        ////////////////////////////
        RegisterBuiltinFunc< Intrinsic< TypeWrapper< Hole > ( TypeWrapper< StringId >, TypeWrapper< StringId >, uint8_t ) > >( e, "MkHole"_sid,
            []( const auto& c, const Value& nameVal, const Value& kindVal, const Value& bhvVal ) -> Value
            {







>
>
>
>
>
>







178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
        // StringId
        ////////////////////////////
        RegisterBuiltinFunc< Eager< TypeWrapper< StringId > > ( string ) >( e, "MkStringId"_sid,
            []( string s ) -> TypeWrapper< StringId >
            {
                return s;
            } );

        RegisterBuiltinFunc< Eager< TypeWrapper< StringId > > ( uint32_t ) >( e, "MkStringId"_sid,
            []( uint32_t id ) -> TypeWrapper< StringId >
            {
                return id;
            } );

        ////////////////////////////
        // Hole
        ////////////////////////////
        RegisterBuiltinFunc< Intrinsic< TypeWrapper< Hole > ( TypeWrapper< StringId >, TypeWrapper< StringId >, uint8_t ) > >( e, "MkHole"_sid,
            []( const auto& c, const Value& nameVal, const Value& kindVal, const Value& bhvVal ) -> Value
            {