1
2
3
4
5
6 #ifndef CMAJOR_SYMBOLS_TRAP_INCLUDED
7 #define CMAJOR_SYMBOLS_TRAP_INCLUDED
8 #include <cmajor/symbols/FunctionSymbol.hpp>
9
10 namespace cmajor { namespace symbols {
11
12 class SymbolTable;
13
14 class TrapFunction : public FunctionSymbol
15 {
16 public:
17 TrapFunction(SymbolTable& symbolTable);
18 TrapFunction(const Span& span_, const boost::uuids::uuid& sourceModuleId, const std::u32string& name_);
19 void GenerateCall(Emitter& emitter, std::std::vector<GenObject*>&genObjects, OperationFlagsflags, constSpan&span, constboost::uuids::uuid& moduleId) override;
20 };
21
22 void InitTrap(SymbolTable& symbolTable);
23
24 } }
25
26 #endif // CMAJOR_SYMBOLS_TRAP_INCLUDED