2a8c3d2637d5b6f72bed174a65196d5195081f8f
[bpt/coccinelle.git] / parsing_cocci / type_cocci.mli
1 type inherited = bool (* true if inherited *)
2 type keep_binding = Unitary (* need no info *)
3 | Nonunitary (* need an env entry *) | Saved (* need a witness *)
4
5 type typeC =
6 ConstVol of const_vol * typeC
7 | BaseType of baseType * sign option
8 | Pointer of typeC
9 | FunctionPointer of typeC (* only return type *)
10 | Array of typeC (* drop size info *)
11 | StructUnionName of structUnion * bool (* true if type metavar *) * string
12 | TypeName of string
13 | MetaType of (string * string) * keep_binding * inherited
14 | Unknown (* for metavariables of type expression *^* *)
15
16 and tagged_string = string
17
18 and baseType = VoidType | CharType | ShortType | IntType | DoubleType
19 | FloatType | LongType | BoolType
20
21 and structUnion = Struct | Union
22
23 and sign = Signed | Unsigned
24
25 and const_vol = Const | Volatile
26
27 val typeC : typeC -> unit
28
29 val compatible : typeC -> typeC option -> bool