Goose  Artifact [51d602dce1]

Artifact 51d602dce17456895f2a27ee30a03a95f16ab568a03d213ba6b32d4fe867f96a:

  • File bs/builtins/types/runtime/runtime.h — part of check-in [3f9a7b5082] at 2019-07-25 15:37:37 on branch trunk — builtins: llvm types are now built and stored at a standard location in the ir expressions of runtime types. (user: achavasse size: 569)

#ifndef EMPATHY_BUILTINS_TYPES_RUNTIME_H
#define EMPATHY_BUILTINS_TYPES_RUNTIME_H

#include "basic.h"
#include "pointer.h"
#include "array.h"
#include "struct.h"

namespace empathy::builtins
{
    extern void SetupRuntimeBasicTypes( Env& e );

    static inline void SetupRuntimeTypes( Env& e )
    {
        SetupRuntimeBasicTypes( e );
        SetupRuntimePointerType( e );
        SetupRuntimeArrayType( e );
        SetupRuntimeStructType( e );
    }

    extern bool IsRuntimeType( const Value& t );
    extern llvm::Type* GetLLVMType( const Value& t );
}

#endif