Synopsis - Cross-Reference
File: /Synopsis/Parsers/IDL/idldump.h1// -*- c++ -*- 2// Package : omniidl 3// idldump.h Created on: 1999/10/26 4// Author : Duncan Grisby (dpg1) 5// 6// Copyright (C) 1999 AT&T Laboratories Cambridge 7// 8// This file is part of omniidl. 9// 10// omniidl is free software; you can redistribute it and/or modify it 11// under the terms of the GNU General Public License as published by 12// the Free Software Foundation; either version 2 of the License, or 13// (at your option) any later version. 14// 15// This program is distributed in the hope that it will be useful, 16// but WITHOUT ANY WARRANTY; without even the implied warranty of 17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18// General Public License for more details. 19// 20// You should have received a copy of the GNU General Public License 21// along with this program; if not, write to the Free Software 22// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 23// 02111-1307, USA. 24// 25// Description: 26// 27// Visitor object to dump the tree 28 29// $Id: idldump.h,v 1.7.2.1 2003/03/23 21:01:46 dgrisby Exp $ 30// $Log: idldump.h,v $ 31// Revision 1.7.2.1 2003/03/23 21:01:46 dgrisby 32// Start of omniORB 4.1.x development branch. 33// 34// Revision 1.3.2.3 2000/11/01 12:45:56 dpg1 35// Update to CORBA 2.4 specification. 36// 37// Revision 1.3.2.2 2000/10/10 10:18:50 dpg1 38// Update omniidl front-end from omni3_develop. 39// 40// Revision 1.1.2.1 2000/08/14 14:35:14 dpg1 41// IDL dumping now properly escapes string and char constants 42// 43// Revision 1.1 1999/10/27 14:05:58 dpg1 44// *** empty log message *** 45// 46 47#ifndef _idldump_h_ 48#define _idldump_h_ 49 50#include <idlvisitor.h> 51#include <idlscope.h> 52 53class DumpVisitor : public AstVisitor, public TypeVisitor { 54public: 55 DumpVisitor(); 56 virtual ~DumpVisitor(); 57 58 void visitAST (AST*); 59 void visitModule (Module*); 60 void visitInterface (Interface*); 61 void visitForward (Forward*); 62 void visitConst (Const*); 63 void visitDeclarator (Declarator*); 64 void visitTypedef (Typedef*); 65 void visitMember (Member*); 66 void visitStruct (Struct*); 67 void visitStructForward (StructForward*); 68 void visitException (Exception*); 69 void visitCaseLabel (CaseLabel*); 70 void visitUnionCase (UnionCase*); 71 void visitUnion (Union*); 72 void visitUnionForward (UnionForward*); 73 void visitEnumerator (Enumerator*); 74 void visitEnum (Enum*); 75 void visitAttribute (Attribute*); 76 void visitParameter (Parameter*); 77 void visitOperation (Operation*); 78 void visitNative (Native*); 79 void visitStateMember (StateMember*); 80 void visitFactory (Factory*); 81 void visitValueForward (ValueForward*); 82 void visitValueBox (ValueBox*); 83 void visitValueAbs (ValueAbs*); 84 void visitValue (Value*); 85 86 void visitBaseType (BaseType*); 87 void visitStringType (StringType*); 88 void visitWStringType (WStringType*); 89 void visitSequenceType(SequenceType*); 90 void visitFixedType (FixedType*); 91 void visitDeclaredType(DeclaredType*); 92 93private: 94 int indent_; 95 void printIndent(); 96 void printScopedName(const ScopedName* sn); 97 void printString(const char* str); 98 void printChar(const char c); 99}; 100 101 102 103 104#endif // _idldump_h_