func-exit.h 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. #ifndef AFUN_FUNC_EXIT_H
  2. #define AFUN_FUNC_EXIT_H
  3. #include "aFunlangExport.h"
  4. #include "aFuncore.h"
  5. namespace aFuncore {
  6. class ExitFunction : public Function {
  7. class CallFunc : public CallFunction {
  8. const Code::ByteCode *call_code;
  9. Inter &inter;
  10. std::list<ArgCodeList> *acl;
  11. public:
  12. CallFunc(const Code::ByteCode *code_, Inter &inter_);
  13. std::list<ArgCodeList> *getArgCodeList(Inter &inter_,
  14. Activation &activation,
  15. const Code::ByteCode *call) override;
  16. void runFunction() override;
  17. ~CallFunc() override;
  18. };
  19. public:
  20. inline explicit ExitFunction(Inter &inter_);
  21. inline explicit ExitFunction(Environment &env_);
  22. ~ExitFunction() override = default;
  23. CallFunction *getCallFunction(const Code::ByteCode *code, Inter &inter) override;
  24. };
  25. }
  26. #include "func-exit.inline.h"
  27. #endif //AFUN_FUNC_EXIT_H