00001
00002
00003
00004
00005
00006
00007
00008
00010
00011 #define sw_cbl_codetree_defenumrange_h
00012
00013 #include <cbl/codetree/defrange.h>
00014
00015 #include
00016
00017 namespace cbl {
00018 namespace codetree {
00019 namespace def {
00020
00021 class TEnumDef;
00022
00023
00024 class TEnumRangeDef : public TRangeDef {
00025 private:
00026 TEnumDef *FBaseEnum;
00027
00028 protected:
00029 TEnumRangeDef(symbols::TModuleSym *AOwner, TEnumDef *ABaseEnum,
00030 crosspl::int64 AMin, crosspl::int64 AMax);
00031
00032 friend class symbols::TModuleSym;
00033
00034 public:
00035
00036 const TEnumDef *baseEnum() const;
00037 void baseEnum(TEnumDef *);
00038
00039
00040 virtual void accept(TDefVisitor&);
00041
00042
00043 virtual TEnumRangeDef *clone() const;
00044 };
00045
00046 }
00047 }
00048 }
00049
00050 #endif