Synopsis - Cross-Reference

File: /Synopsis/Parsers/IDL/idldump.h
  1// -*- 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_