arg.h 989 B

12345678910111213141516171819202122232425262728
  1. #ifndef AFUN__ARG_H_PUBLIC
  2. #define AFUN__ARG_H_PUBLIC
  3. #include "code.h"
  4. #include "object.h"
  5. typedef struct ArgCodeList ArgCodeList;
  6. typedef struct ArgList ArgList;
  7. /* ArgCodeList 创建与释放 */
  8. ArgCodeList *makeArgCodeList(af_Code *code, size_t size, bool free_code, bool run_in_func);
  9. ArgCodeList *freeArgCodeList(ArgCodeList *acl);
  10. void freeAllArgCodeList(ArgCodeList *acl);
  11. /* ArgCodeList 操作函数 */
  12. ArgCodeList **pushArgCodeList(ArgCodeList **base, ArgCodeList *new);
  13. ArgCodeList **pushNewArgCodeList(ArgCodeList **base, af_Code *code, size_t size, bool free_code, bool run_in_func);
  14. /* ArgList 创建与释放 */
  15. ArgList *makeArgList(char *name, af_Object *obj);
  16. ArgList *freeArgList(ArgList *al);
  17. void freeAllArgList(ArgList *al);
  18. /* ArgList 操作函数 */
  19. ArgList **pushArgList(ArgList **base, ArgList *new);
  20. ArgList **pushNewArgList(ArgList **base, char *name, af_Object *obj);
  21. bool runArgList(ArgList *al, af_VarSpaceListNode *vsl);
  22. #endif //AFUN__ARG_H_PUBLIC