Goose  Artifact [2b955a07cf]

Artifact 2b955a07cfb309a168d4159483986c4b6f894c7a1ae0ac6011fc9ba0a9bbbabc:

  • File bs/builtins/types/intrinsic/intrinsic.cpp — part of check-in [af650a9e95] at 2019-09-22 14:37:55 on branch trunk — Project renaming. (user: achavasse size: 564)

#include "builtins/builtins.h"

namespace goose::builtins
{
    bool IsIntrinsicFunc( const Value& func )
    {
        auto funcType = ValueFromIRExpr( func.type() );
        assert( funcType );

        auto decomp = Decompose( funcType->val(),
            Vec(
                Lit( "func"_sid ),
                Lit( "intrinsic"_sid ),
                SubTerm(),  // domain
                SubTerm(),  // return type
                SubTerm(),  // param types
                SubTerm()   // verif info
            )
        );

        return !!decomp;
    }
}