Guest User

Untitled

a guest
Oct 16th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. typedef struct ILP_Object {
  2. struct ILP_Class* _class;
  3. union {
  4. unsigned char asBoolean;
  5. int asInteger;
  6. double asFloat;
  7. struct asString {
  8. int _size;
  9. char asCharacter[1];
  10. } asString;
  11.  
  12.  
  13. /** my tab struct **/
  14. struct asIntTab{
  15. int _size;
  16. int asTab[1];
  17. }asIntTab;
  18. /** my tab struct end **/
  19.  
  20.  
  21. struct asException {
  22. char message[ILP_EXCEPTION_BUFFER_LENGTH];
  23. struct ILP_Object* culprit[ILP_EXCEPTION_CULPRIT_LENGTH];
  24. } asException;
  25. struct asClass {
  26. struct ILP_Class* super;
  27. char* name;
  28. int fields_count;
  29. struct ILP_Field* last_field;
  30. int methods_count;
  31. ILP_general_function method[1];
  32. } asClass;
  33. struct asMethod {
  34. struct ILP_Class* class_defining;
  35. char* name;
  36. short arity;
  37. short index;
  38. } asMethod;
  39. struct asField {
  40. struct ILP_Class* defining_class;
  41. struct ILP_Field* previous_field;
  42. char* name;
  43. short offset;
  44. } asField;
  45. struct asInstance {
  46. struct ILP_Object* field[1];
  47. } asInstance;
  48. struct asClosure {
  49. ILP_general_function function;
  50. short arity;
  51. struct ILP_Object* closed_variables[1];
  52. } asClosure;
  53. struct asBox {
  54. struct ILP_Object* value;
  55. } asBox;
  56. } _content;
  57. } *ILP_Object;
Add Comment
Please, Sign In to add comment