00001 // AUTOMATICALLY GENERATED -- DO NOT EDIT! -*- c++ -*- 00002 00003 #ifndef init_handler_h 00004 #define init_handler_h 00005 00006 #include <iosfwd> 00007 #include "type_rep.h" 00008 00009 // 00010 // INTERFACE definition follows 00011 // 00012 00013 00014 class Abstract_scope; 00015 class Ptree; 00016 class Init_reader; 00017 class Class_symbol; 00028 class Init_handler { 00029 Ptree* tree; 00030 Abstract_scope* scope; 00031 bool zero_init; 00032 00033 public: 00034 /****************************** Init_handler ******************************/ 00035 00042 Init_handler(Abstract_scope* scope, Ptree* tree, bool zero_init); 00043 00044 ~Init_handler(); 00045 00047 Ptree* make_constructor_call(Type t, Ptree* args); 00048 00055 Ptree* process_initializer(Type t); 00056 00057 /************************** Default Initializer **************************/ 00058 00060 Ptree* get_default_initializer_for_type(Type t); 00061 00062 private: 00066 Ptree* process_brace(Type t, Init_reader* reader); 00067 00068 Ptree* process_array(Type t, Init_reader* reader); 00069 00070 Ptree* process_class(Class_symbol* csym, Init_reader* reader); 00071 }; 00072 00073 #endif // init_handler_h