00001 // AUTOMATICALLY GENERATED -- DO NOT EDIT! -*- c++ -*- 00002 00003 #ifndef enum_h 00004 #define enum_h 00005 00006 #include <vector> 00007 #include "symbol_table.h" 00008 #include "type_rep.h" 00009 00010 // 00011 // INTERFACE definition follows 00012 // 00013 00014 00015 class Variable_symbol; 00023 class Enum_symbol : public Type_symbol { 00024 std::vector<Variable_symbol*> values; 00025 00026 public: 00036 Enum_symbol(); 00037 00038 ~Enum_symbol(); 00039 00040 Symbol::Kind get_kind() const; 00041 00046 Ptree* process_value(Ptree* tree, Ptree* previous, Abstract_scope* scope); 00047 }; 00048 00051 Type parse_enum(Ptree* tree, Abstract_scope* scope, Ptree* name_for_anon); 00052 00053 #endif // enum_h