/* types.h */ /* Type processing */ #ifndef __PROG_CKIT_TYPES_H__ #define __PROG_CKIT_TYPES_H__ #include "std.h" #include "scope.hpp" OPEN_NAMESPACE /* type options - global variables */ extern bool skip_functions; // true =>> skip function bodies and initialization expressions extern bool check_types; // false => assume that names in declarations are types extern bool check_templates; // false => allow undeclared templates extern bool check_all_types; // true => verify type names, even when not necessary extern bool check_inner_typenames; // false => allow new class names nested into template parameters extern bool check_names; // false => allow undeclared fields extern bool check_using; // false => allow using with undeclared identifier extern bool check_duplications; // !? structure tag names extern bool check_complete_lookup; // !? virtual classes extern bool check_template_arguments; // !? check number of template arguments extern bool notify_missing_include; extern bool enable_subst; extern bool expand_templates; extern bool store_to_dictionary; extern bool show_template_messages; // information about template expansion extern bool show_detail_messages; // detail information about template expansion /* global variables */ extern CttScope * translation; extern TEnvInput * error_handler; /* messages */ void Error (string msg); /* functions */ void init_global_scope (); CttScope * get_top_scope (); CttContext * get_current_context (); // CttScope * get_current_target (); CttContext * open_global_context (); void close_global_context (CttContext * ctx); CLOSE_NAMESPACE #endif /* __PROG_CKIT_TYPES_H__ */