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