rt_exe_activation.h 846 B

123456789101112131415161718192021222324
  1. #ifndef AFUN_RT_EXE_ACTIVATION_H
  2. #define AFUN_RT_EXE_ACTIVATION_H
  3. #include "aFunRuntimeExport.h"
  4. #include "aFuncore.h"
  5. #include "rt_func_object.h"
  6. #include "rt_normal_activation.h"
  7. namespace aFunrt {
  8. class AFUN_RT_EXPORT ExeActivation : public NormalActivation {
  9. public:
  10. AFUN_INLINE ExeActivation(const aFuncode::Code &code, aFuncore::Inter &inter_);
  11. AFUN_INLINE ExeActivation(const aFuncode::Code::ByteCode *code, aFuncore::Inter &inter_);
  12. ActivationStatus getCode(const aFuncode::Code::ByteCode *&code) override;
  13. [[nodiscard]] AFUN_INLINE const aFuncode::Code::ByteCode *getStart() const;
  14. private:
  15. const aFuncode::Code::ByteCode *start;
  16. const aFuncode::Code::ByteCode *next;
  17. bool first=true;
  18. };
  19. }
  20. #include "rt_exe_activation.inline.h"
  21. #endif //AFUN_RT_EXE_ACTIVATION_H