Goose  Artifact [40ccb92d8e]

Artifact 40ccb92d8e1e5ebb27171e36fb3439a2336560665fd564ef7350eaf1231575b3:

  • File bs/builtins/types/template/build.h — part of check-in [5fd301c5f9] at 2019-07-07 10:33:19 on branch trunk — Parser: refactored function and template function parsing to go through a common code path to build function types. (user: achavasse size: 669)

#ifndef EMPATHY_BUILTINS_TEMPLATE_BUILD_H
#define EMPATHY_BUILTINS_TEMPLATE_BUILD_H

namespace empathy::builtins
{
    extern optional< TDecl > BuildTDecl( const Context& c, const Term& typeTExpr, const StringId& name );
    extern TFuncType BuildTFuncType( const Term& domain, const Value& returnType, const Value& params );
    extern optional< Term > BuildTFuncSignature( const Context& c, const TFuncType& tft );
    extern optional< Value > BuildTFunc( const Context& c, const TFuncType& tft, const Term& identity, const Value& params, pvec&& body );

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

#endif