diff options
author | Bernard Normier <bernard@zeroc.com> | 2016-06-09 10:31:55 -0400 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2016-06-09 10:31:55 -0400 |
commit | 6c03cdd4239012b9d534997048c773e0328240cb (patch) | |
tree | e4a74b77abeb78822aea6e3f6298fe685adee657 /cpp/src/slice2cpp/Gen.h | |
parent | Fix typo (diff) | |
download | ice-6c03cdd4239012b9d534997048c773e0328240cb.tar.bz2 ice-6c03cdd4239012b9d534997048c773e0328240cb.tar.xz ice-6c03cdd4239012b9d534997048c773e0328240cb.zip |
partial support for custom mapping with cpp11
slice2cpp now recognizes cpp98, cpp11 and cpp metadata
Diffstat (limited to 'cpp/src/slice2cpp/Gen.h')
-rw-r--r-- | cpp/src/slice2cpp/Gen.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/cpp/src/slice2cpp/Gen.h b/cpp/src/slice2cpp/Gen.h index 1e45e246fb3..114f13781c0 100644 --- a/cpp/src/slice2cpp/Gen.h +++ b/cpp/src/slice2cpp/Gen.h @@ -651,7 +651,38 @@ private: StringSet _history; }; + class NormalizeMetaDataVisitor : public ParserVisitor + { + public: + + explicit NormalizeMetaDataVisitor(bool); + + virtual bool visitUnitStart(const UnitPtr&); + 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 visitDataMember(const DataMemberPtr&); + virtual void visitSequence(const SequencePtr&); + virtual void visitDictionary(const DictionaryPtr&); + virtual void visitEnum(const EnumPtr&); + virtual void visitConst(const ConstPtr&); + + private: + + StringList normalize(const StringList&); + + bool _cpp11; + }; + static void validateMetaData(const UnitPtr&); + static void normalizeMetaData(const UnitPtr&, bool); }; } |