Commit | Line | Data |
---|---|---|
91eba41f C |
1 | |
2 | type finalType = Ast_c.fullType | |
3 | ||
0708f913 C |
4 | (* completed TypeName, removed ParenType, use StructUnionName when can *) |
5 | type completed_and_simplified = Ast_c.fullType | |
6 | ||
7 | type completed_typedef = Ast_c.fullType | |
8 | type removed_typedef = Ast_c.fullType | |
9 | ||
10 | val is_completed_and_simplified: finalType -> bool | |
11 | val is_completed_typedef_fullType : finalType -> bool | |
12 | val is_removed_typedef_fullType: finalType -> bool | |
13 | ||
14 | val remove_typedef: completed_typedef -> removed_typedef | |
15 | ||
16 | ||
17 | ||
91eba41f | 18 | (* lookup *) |
ae4735db | 19 | val type_field: |
91eba41f C |
20 | string -> (Ast_c.structUnion * Ast_c.structType) -> Ast_c.fullType |
21 | ||
22 | (* typing rules *) | |
ae4735db | 23 | val lub: |
708f4980 | 24 | Ast_c.arithOp -> finalType option -> finalType option -> Ast_c.exp_info |
91eba41f C |
25 | |
26 | (* helpers *) | |
ae4735db | 27 | val structdef_to_struct_name: |
91eba41f | 28 | finalType -> finalType |
ae4735db | 29 | val fake_function_type: |
91eba41f C |
30 | finalType option -> Ast_c.argument Ast_c.wrap2 list -> finalType option |
31 | ||
32 | (* return normalize types ? *) | |
ae4735db | 33 | val type_of_function: |
91eba41f C |
34 | Ast_c.definition -> finalType |
35 | val type_of_decl: | |
36 | Ast_c.declaration -> finalType | |
37 | val structdef_of_decl: | |
38 | Ast_c.declaration -> Ast_c.structUnion * Ast_c.structType | |
39 | ||
40 | ||
41 | (* builders *) | |
42 | val make_info_def: finalType -> Ast_c.exp_info | |
43 | val make_info: Ast_c.exp_type -> Ast_c.exp_info | |
44 | ||
45 | val noTypeHere: Ast_c.exp_info | |
46 | ||
ae4735db | 47 | val do_with_type: |
91eba41f | 48 | (finalType -> Ast_c.exp_info) -> Ast_c.exp_info -> Ast_c.exp_info |
ae4735db | 49 | val get_opt_type: |
91eba41f | 50 | Ast_c.expression -> finalType option |
0708f913 C |
51 | |
52 | (* helpers bis *) | |
53 | val is_function_type: finalType -> bool | |
54 | val function_pointer_type_opt: finalType -> Ast_c.functionType option |