Commit after resolving conflicts
[satune.git] / src / AST / element.h
index 91d19dba19fe6830d63334f2630ca594a08dde4d..0a23d8889d2a88d9a310934b3ea3788374cdfa8c 100644 (file)
@@ -2,12 +2,31 @@
 #define ELEMENT_H
 #include "classlist.h"
 #include "mymemory.h"
+#include "ops.h"
+#include "structs.h"
 
+#define GETELEMENTTYPE(o) (((Element*)o)->type)
+
+//FIXME:TALK ABOUT ELEMENT
 struct Element {
+       ElementType type;
        Set * set;
        ElementEncoding * encoding;
 };
 
+struct ElementSet {
+    Element base;
+    Set * set;
+};
+
+struct ElementFunction{
+    Element base;
+    Function * function;
+    VectorElement* Elements;
+    Boolean * overflowstatus;
+};
+
 Element * allocElement(Set *s);
+Element* allocElementFunction(Function * function, Element ** array, uint numArrays, Boolean * overflowstatus);
 void deleteElement(Element *This);
 #endif