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
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
            {