1
// **********************************************************************
3
// Copyright (c) 2003-2009 ZeroC, Inc. All rights reserved.
5
// This copy of Ice is licensed to you under the terms described in the
6
// ICE_LICENSE file included in this distribution.
8
// **********************************************************************
13
#include <Slice/Parser.h>
14
#include <IceUtil/OutputUtil.h>
20
class Gen : private ::IceUtil::noncopyable, public ParserVisitor
24
Gen(const std::string&, bool, bool, bool, bool);
27
void generate(const UnitPtr&);
30
virtual bool visitUnitStart(const UnitPtr&);
31
virtual void visitUnitEnd(const UnitPtr&);
32
virtual bool visitModuleStart(const ModulePtr&);
33
virtual void visitContainer(const ContainerPtr&);
34
virtual bool visitClassDefStart(const ClassDefPtr&);
35
virtual bool visitExceptionStart(const ExceptionPtr&);
36
virtual bool visitStructStart(const StructPtr&);
37
virtual void visitEnum(const EnumPtr&);
38
virtual void visitConst(const ConstPtr&);
43
std::string getComment(const ContainedPtr&, const ContainerPtr&, bool);
44
StringList getTagged(const std::string&, std::string&);
45
void printMetaData(const ContainedPtr&);
46
void printComment(const ContainedPtr&, const std::string&);
47
void printSummary(const ContainedPtr&, bool);
48
void start(const std::string&);
49
void start(const std::string&, const std::string&, bool = true);
52
std::string containedToId(const ContainedPtr&);
53
std::string getScopedMinimized(const ContainedPtr&, const ContainerPtr&);
54
std::string toString(const SyntaxTreeBasePtr&, const ContainerPtr&, bool = true);
55
std::string toString(const std::string&, const ContainerPtr&, bool = true);
57
::IceUtilInternal::XMLOutput O;