New type of Element and Boolean.
[satune.git] / src / AST / element.h
1 #ifndef ELEMENT_H
2 #define ELEMENT_H
3 #include "classlist.h"
4 #include "mymemory.h"
5 #include "ops.h"
6 #include "structs.h"
7
8 #define GETELEMENTTYPE(o) (((Element*)o)->type)
9
10 struct Element {
11         ElementType type;
12 };
13
14 struct ElementSet {
15     Element base;
16     Set * set;
17 };
18
19 struct ElementFunction{
20     Element base;
21     Function * function;
22     VectorElement* Elements;
23     Boolean * overflowstatus;
24 };
25
26 Element * allocElementSet(Set *s);
27 Element* allocElementFunction(Function * function, Element ** array, uint numArrays, Boolean * overflowstatus);
28 void deleteElement(Element *This);
29 #endif