diff options
author | Michi Henning <michi@zeroc.com> | 2004-12-07 05:40:34 +0000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2004-12-07 05:40:34 +0000 |
commit | 47f6feeb24128d9c85d77f6513a58253a4ce7ea8 (patch) | |
tree | 21ac791073f7b909c4fcf28bffa5c7a996bae482 /cpp/src/slice2cpp/Gen.h | |
parent | Added context parameter to checkedCast. (diff) | |
download | ice-47f6feeb24128d9c85d77f6513a58253a4ce7ea8.tar.bz2 ice-47f6feeb24128d9c85d77f6513a58253a4ce7ea8.tar.xz ice-47f6feeb24128d9c85d77f6513a58253a4ce7ea8.zip |
Added additional checks to validate metadata.
Diffstat (limited to 'cpp/src/slice2cpp/Gen.h')
-rw-r--r-- | cpp/src/slice2cpp/Gen.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/cpp/src/slice2cpp/Gen.h b/cpp/src/slice2cpp/Gen.h index ae94d0fa835..6997df5313b 100644 --- a/cpp/src/slice2cpp/Gen.h +++ b/cpp/src/slice2cpp/Gen.h @@ -344,6 +344,38 @@ private: std::string _dllExport; }; + +private: + + class MetaDataVisitor : public ParserVisitor + { + public: + + virtual bool visitModuleStart(const ModulePtr&); + virtual void visitModuleEnd(const ModulePtr&); + virtual void visitClassDecl(const ClassDeclPtr&); + virtual bool visitClassDefStart(const ClassDefPtr&); + virtual void visitClassDefEnd(const ClassDefPtr&); + virtual bool visitExceptionStart(const ExceptionPtr&); + virtual void visitExceptionEnd(const ExceptionPtr&); + virtual bool visitStructStart(const StructPtr&); + virtual void visitStructEnd(const StructPtr&); + virtual void visitOperation(const OperationPtr&); + virtual void visitParamDecl(const ParamDeclPtr&); + virtual void visitDataMember(const DataMemberPtr&); + virtual void visitSequence(const SequencePtr&); + virtual void visitDictionary(const DictionaryPtr&); + virtual void visitEnum(const EnumPtr&); + virtual void visitConst(const ConstPtr&); + + private: + + void validate(const ContainedPtr&); + + StringSet _history; + }; + + static void validateMetaData(const UnitPtr&); }; } |