User: rinkrank
  Date: 02/02/19 11:13:50

  Added:       src/xjavadoc/ast TraverseVisitor.java PrintVisitor.java
  Log:
  Full refactoring:
  -cleaned up bad code ;-)
  -introduced proxy (GoF) for performance
  -moved most classes to main xjavadoc package
  
  Revision  Changes    Path
  1.1                  xjavadoc/src/xjavadoc/ast/TraverseVisitor.java
  
  Index: TraverseVisitor.java
  ===================================================================
  /*
   * Copyright (c) 2001, Aslak Helles�y, BEKK Consulting
   * All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without modification,
   * are permitted provided that the following conditions are met:
   *
   * - Redistributions of source code must retain the above copyright notice,
   *   this list of conditions and the following disclaimer.
   *
   * - Redistributions in binary form must reproduce the above copyright
   *   notice, this list of conditions and the following disclaimer in the
   *   documentation and/or other materials provided with the distribution.
   *
   * - Neither the name of BEKK Consulting nor the names of its
   *   contributors may be used to endorse or promote products derived from
   *   this software without specific prior written permission.
   *
   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
   * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
   * DAMAGE.
   */
  
  /*
   * Change log
   *
   */
  package xjavadoc.ast;
  
  /**
   * Describe what this class does
   *
   * @author Aslak Helles�y
   * @created 18. januar 2002
   * @todo-javadoc Write javadocs
   */
  public class TraverseVisitor implements JavaParserVisitor {
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(SimpleNode node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTCompilationUnit node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTPackageDeclaration node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTImportDeclaration node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTTypeDeclaration node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTClassDeclaration node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTUnmodifiedClassDeclaration node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTClassBody node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTNestedClassDeclaration node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTClassBodyDeclaration node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTMethodDeclarationLookahead node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTInterfaceDeclaration node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTNestedInterfaceDeclaration node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTUnmodifiedInterfaceDeclaration node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTInterfaceMemberDeclaration node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTFieldDeclaration node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTVariableDeclarator node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTVariableDeclaratorId node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTVariableInitializer node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTArrayInitializer node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTMethodDeclaration node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTMethodDeclarator node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTFormalParameters node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTFormalParameter node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTConstructorDeclaration node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTExplicitConstructorInvocation node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTInitializer node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTType node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTPrimitiveType node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTResultType node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTName node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTNameList node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTAssignmentOperator node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTConditionalExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTConditionalOrExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTConditionalAndExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTInclusiveOrExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTExclusiveOrExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTAndExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTEqualityExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTInstanceOfExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTRelationalExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTShiftExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTAdditiveExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTMultiplicativeExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTUnaryExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTPreIncrementExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTPreDecrementExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTUnaryExpressionNotPlusMinus node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTCastLookahead node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTPostfixExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTCastExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTPrimaryExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTPrimaryPrefix node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTPrimarySuffix node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTLiteral node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTBooleanLiteral node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTNullLiteral node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTArguments node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTArgumentList node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTAllocationExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTArrayDimsAndInits node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTStatement node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTLabeledStatement node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTBlock node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTBlockStatement node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTLocalVariableDeclaration node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTEmptyStatement node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTStatementExpression node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTSwitchStatement node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTSwitchLabel node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTIfStatement node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTWhileStatement node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTDoStatement node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTForStatement node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTForInit node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTStatementExpressionList node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTForUpdate node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTBreakStatement node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTContinueStatement node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTReturnStatement node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTThrowStatement node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTSynchronizedStatement node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object visit(ASTTryStatement node, Object data) {
                return traverse(node, data);
        }
  
  
        /**
         * @todo use SimpleNode.childrenAccept instead
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        protected Object traverse(SimpleNode node, Object data) {
                SimpleNode n;
                for (int ord = 0; ord < node.jjtGetNumChildren(); ord++) {
                        n = (SimpleNode)node.jjtGetChild(ord);
                        n.jjtAccept(this, data);
                }
                return data;
        }
  }
  
  
  
  1.1                  xjavadoc/src/xjavadoc/ast/PrintVisitor.java
  
  Index: PrintVisitor.java
  ===================================================================
  /*
   * Copyright (c) 2001, Aslak Helles�y, BEKK Consulting
   * All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without modification,
   * are permitted provided that the following conditions are met:
   *
   * - Redistributions of source code must retain the above copyright notice,
   *   this list of conditions and the following disclaimer.
   *
   * - Redistributions in binary form must reproduce the above copyright
   *   notice, this list of conditions and the following disclaimer in the
   *   documentation and/or other materials provided with the distribution.
   *
   * - Neither the name of BEKK Consulting nor the names of its
   *   contributors may be used to endorse or promote products derived from
   *   this software without specific prior written permission.
   *
   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
   * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
   * DAMAGE.
   */
  
  /*
   * Change log
   *
   */
  package xjavadoc.ast;
  
  import java.io.PrintStream;
  
  /**
   * This visitor prints a node and all its children to a PrintStream. The
   * PrintStream must be passed to the data variable in the jjtAccept method of
   * the node from which printing should start. T print a whole class, call
   * compilationUnit.jjtAccept( new PrintVisitor(), System.out );
   *
   * @author Aslak Helles�y
   * @created 8. januar 2002
   * @todo replace PrintStream with PrintStream and remove the addUnicodeEscapes()
   */
  public class PrintVisitor extends TraverseVisitor {
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object traverse(SimpleNode node, Object data) {
                return print(node, data);
        }
  
  
        /**
         * Describe what the method does
         *
         * @param node Describe what the parameter does
         * @param data Describe what the parameter does
         * @return Describe the return value
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for return value
         */
        public Object print(SimpleNode node, Object data) {
                PrintStream out = (PrintStream)data;
                Token t1 = node.getFirstToken();
                Token t = new Token();
                t.next = t1;
  
                SimpleNode n;
                for (int ord = 0; ord < node.jjtGetNumChildren(); ord++) {
                        n = (SimpleNode)node.jjtGetChild(ord);
                        while (true) {
                                t = t.next;
                                if (t == n.getFirstToken()) {
                                        break;
                                }
                                print(t, out);
                        }
                        n.jjtAccept(this, data);
                        t = n.getLastToken();
                }
  
                while (t != node.getLastToken() && t != null) {
                        // SECOND PREDICATE ADDED BY ASLAK AFTER ADDING 
METHODMODIFIERS TO GRAMMAR
                        t = t.next;
                        if (t != null) {
                                print(t, out);
                        }
                }
                /*
                 *  while (t != node.getLastToken()) {
                 *  t = t.next;
                 *  print(t, out);
                 *  }
                 */
                return data;
        }
  
  
        /**
         * Describe what the method does
         *
         * @param t Describe what the parameter does
         * @param out Describe what the parameter does
         * @todo-javadoc Write javadocs for method
         * @todo-javadoc Write javadocs for method parameter
         * @todo-javadoc Write javadocs for method parameter
         */
        protected void print(Token t, PrintStream out) {
                Token tt = t.specialToken;
                if (tt != null) {
                        while (tt.specialToken != null) {
                                tt = tt.specialToken;
                        }
                        while (tt != null) {
                                out.print(addUnicodeEscapes(tt.image));
  //                            out.print(tt.image);
                                tt = tt.next;
                        }
                }
                out.print(addUnicodeEscapes(t.image));
  //            out.print(t.image);
        }
  
  
        /**
         * Describe the method
         *
         * @param str Describe the method parameter
         * @return Describe the return value
         * @todo-javadoc Describe the method
         * @todo-javadoc Describe the method parameter
         * @todo-javadoc Write javadocs for return value
         */
        protected String addUnicodeEscapes(String str) {
                String retval = "";
                char ch;
                for (int i = 0; i < str.length(); i++) {
                        ch = str.charAt(i);
                        if ((ch < 0x20 || ch > 0x7e) &&
                                        ch != '\t' && ch != '\n' && ch != '\r' && ch 
!= '\f') {
                                String s = "0000" + Integer.toString(ch, 16);
                                retval += "\\u" + s.substring(s.length() - 4, 
s.length());
                        }
                        else {
                                retval += ch;
                        }
                }
                return retval;
        }
  
  }
  
  
  

_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to