Goose  Artifact [4386a75990]

Artifact 4386a759907a5f74b07c9342c0a7f1b870c7a5ea8cc40e7362b3f5998e87406e:

  • File bs/builtins/types/template/build.h — part of check-in [07963466bf] at 2022-02-18 17:36:01 on branch trunk —
    • refactored function parsing so that ghost function declarations can actually work (ie they don't expect a function body)
    • some fixes in codegen to properly ignore statements involving ghost functions
    (user: zlodo size: 580) [more...]

#ifndef GOOSE_BUILTINS_TEMPLATE_BUILD_H
#define GOOSE_BUILTINS_TEMPLATE_BUILD_H

namespace goose::builtins
{
    extern TFuncType BuildTFuncType( const Value& returnType, const Value& params );

    extern optional< Term > BuildTFuncSignature( const Context& c, const TFuncType& tft );

    extern optional< TFunc > BuildTFunc( const Context& c, const TFuncType& tft,
        const Term& parentIdentity, const Term& identity, const Value& params, ptr< void > body );

    extern optional< Term > BuildArgPatternFromTFuncType( const Context& c, const Value& tfuncType );
}

#endif