/*
* Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Distribution License v. 1.0, which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
package org.glassfish.pfl.dynamic.codegen.impl;
import org.glassfish.pfl.dynamic.codegen.spi.Type ;
import org.glassfish.pfl.dynamic.codegen.spi.Variable ;
This is a visitor that does nothing. Useful occasionally
for supressing actions in a certain context.
/** This is a visitor that does nothing. Useful occasionally
* for supressing actions in a certain context.
*/
public class NopVisitor extends TreeWalker {
public NopVisitor( TreeWalkerContext context ) {
super( context ) ;
context.push( this ) ;
}
// Node
@Override
public boolean preNode( Node arg ) {
return false ;
}
@Override
public void postNode( Node arg ) {
}
// ClassGeneratorImpl
@Override
public boolean preClassGenerator( ClassGeneratorImpl arg ) {
return preNode( arg ) ;
}
@Override
public boolean classGeneratorBeforeFields( ClassGeneratorImpl arg ) {
return false ;
}
@Override
public void classGeneratorBeforeInitializer( ClassGeneratorImpl arg ) {
}
@Override
public void classGeneratorBeforeMethod( ClassGeneratorImpl arg ) {
}
@Override
public void classGeneratorBeforeConstructor( ClassGeneratorImpl arg ) {
}
@Override
public void postClassGenerator( ClassGeneratorImpl arg ) {
postNode( arg ) ;
}
// MethodGenerator
@Override
public boolean preMethodGenerator( MethodGenerator arg ) {
return preNode( arg ) ;
}
@Override
public boolean methodGeneratorBeforeArguments( MethodGenerator arg ) {
return false ;
}
@Override
public void postMethodGenerator( MethodGenerator arg ) {
postNode( arg ) ;
}
// Statement
@Override
public boolean preStatement( Statement arg ) {
return preNode( arg ) ;
}
@Override
public void postStatement( Statement arg ) {
postNode( arg ) ;
}
// ThrowStatement
@Override
public boolean preThrowStatement( ThrowStatement arg ) {
return preStatement( arg ) ;
}
@Override
public void postThrowStatement( ThrowStatement arg ) {
postStatement( arg ) ;
}
// AssignmentStatement
@Override
public boolean preAssignmentStatement( AssignmentStatement arg ) {
return preStatement( arg ) ;
}
@Override
public void assignmentStatementBeforeLeftSide( AssignmentStatement arg ) {
}
@Override
public void postAssignmentStatement( AssignmentStatement arg ) {
postStatement( arg ) ;
}
// BlockStatement
@Override
public boolean preBlockStatement( BlockStatement arg ) {
return preStatement( arg ) ;
}
@Override
public void blockStatementBeforeBodyStatement( BlockStatement arg, Statement stmt ) {
}
@Override
public void postBlockStatement( BlockStatement arg ) {
postStatement( arg ) ;
}
// CaseBranch
@Override
public boolean preCaseBranch( CaseBranch arg ) {
return preBlockStatement( arg ) ;
}
@Override
public void caseBranchBeforeBodyStatement( CaseBranch arg ) {
}
@Override
public void postCaseBranch( CaseBranch arg ) {
postBlockStatement( arg ) ;
}
// DefinitionStatement
@Override
public boolean preDefinitionStatement( DefinitionStatement arg ) {
return preStatement( arg ) ;
}
@Override
public boolean definitionStatementBeforeExpr( DefinitionStatement arg ) {
return false ;
}
@Override
public void postDefinitionStatement( DefinitionStatement arg ) {
postStatement( arg ) ;
}
// IfStatement
@Override
public boolean preIfStatement( IfStatement arg ) {
return preStatement( arg ) ;
}
@Override
public void ifStatementBeforeTruePart( IfStatement arg ) {
}
@Override
public boolean ifStatementBeforeFalsePart( IfStatement arg ) {
return false ;
}
@Override
public void postIfStatement( IfStatement arg ) {
postStatement( arg ) ;
}
// BreakStatement
@Override
public boolean preBreakStatement( BreakStatement arg ) {
return preStatement( arg ) ;
}
@Override
public void postBreakStatement( BreakStatement arg ) {
postStatement( arg ) ;
}
// ReturnStatement
@Override
public boolean preReturnStatement( ReturnStatement arg ) {
return preStatement( arg ) ;
}
@Override
public void postReturnStatement( ReturnStatement arg ) {
postStatement( arg ) ;
}
// SwitchStatement
@Override
public boolean preSwitchStatement( SwitchStatement arg ) {
return preStatement( arg ) ;
}
@Override
public boolean switchStatementBeforeCaseBranches( SwitchStatement arg ) {
return false ;
}
@Override
public boolean switchStatementBeforeDefault( SwitchStatement arg ) {
return false ;
}
@Override
public void postSwitchStatement( SwitchStatement arg ) {
postStatement( arg ) ;
}
// TryStatement
@Override
public boolean preTryStatement( TryStatement arg ) {
return preStatement( arg ) ;
}
@Override
public void tryStatementBeforeBlock( TryStatement arg,
Type type, Variable var, BlockStatement block ) {
}
@Override
public boolean tryStatementBeforeFinalPart( TryStatement arg ) {
return false ;
}
@Override
public void postTryStatement( TryStatement arg ) {
postStatement( arg ) ;
}
// WhileStatement
@Override
public boolean preWhileStatement( WhileStatement arg ) {
return preStatement( arg ) ;
}
@Override
public void whileStatementBeforeBody( WhileStatement arg ) {
}
@Override
public void postWhileStatement( WhileStatement arg ) {
postStatement( arg ) ;
}
// ExpressionInternal
@Override
public boolean preExpression( ExpressionInternal arg ) {
return preStatement( arg ) ;
}
@Override
public void postExpression( ExpressionInternal arg ) {
postStatement( arg ) ;
}
// Variable
@Override
public boolean preVariable( Variable arg ) {
return preExpression( (VariableInternal)arg ) ;
}
@Override
public void postVariable( Variable arg ) {
postExpression( (VariableInternal)arg ) ;
}
// ConstantExpression
@Override
public boolean preConstantExpression( ExpressionFactory.ConstantExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void postConstantExpression( ExpressionFactory.ConstantExpression arg ) {
postExpression( arg ) ;
}
// VoidExpression
@Override
public boolean preVoidExpression( ExpressionFactory.VoidExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void postVoidExpression( ExpressionFactory.VoidExpression arg ) {
postExpression( arg ) ;
}
// ThisExpression
@Override
public boolean preThisExpression( ExpressionFactory.ThisExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void postThisExpression( ExpressionFactory.ThisExpression arg ) {
postExpression( arg ) ;
}
// UnaryOperatorExpression
@Override
public boolean preUnaryOperatorExpression( ExpressionFactory.UnaryOperatorExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void postUnaryOperatorExpression( ExpressionFactory.UnaryOperatorExpression arg ) {
postExpression( arg ) ;
}
// BinaryOperatorExpression
@Override
public boolean preBinaryOperatorExpression( ExpressionFactory.BinaryOperatorExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void binaryOperatorExpressionBeforeRight(
ExpressionFactory.BinaryOperatorExpression arg ) {
}
@Override
public void postBinaryOperatorExpression( ExpressionFactory.BinaryOperatorExpression arg ) {
postExpression( arg ) ;
}
// CastExpression
@Override
public boolean preCastExpression( ExpressionFactory.CastExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void postCastExpression( ExpressionFactory.CastExpression arg ) {
postExpression( arg ) ;
}
// InstofExpression
@Override
public boolean preInstofExpression( ExpressionFactory.InstofExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void postInstofExpression( ExpressionFactory.InstofExpression arg ) {
postExpression( arg ) ;
}
// StaticCallExpression
@Override
public boolean preStaticCallExpression( ExpressionFactory.StaticCallExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void staticCallExpressionBeforeArg( ExpressionFactory.StaticCallExpression arg ) {
}
@Override
public void postStaticCallExpression( ExpressionFactory.StaticCallExpression arg ) {
postExpression( arg ) ;
}
// NonStaticCallExpression
@Override
public boolean preNonStaticCallExpression( ExpressionFactory.NonStaticCallExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void nonStaticCallExpressionBeforeArg( ExpressionFactory.NonStaticCallExpression arg ) {
}
@Override
public void postNonStaticCallExpression( ExpressionFactory.NonStaticCallExpression arg ) {
postExpression( arg ) ;
}
// NewObjExpression
@Override
public boolean preNewObjExpression( ExpressionFactory.NewObjExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void newObjExpressionBeforeArg( ExpressionFactory.NewObjExpression arg ) {
}
@Override
public void postNewObjExpression( ExpressionFactory.NewObjExpression arg ) {
postExpression( arg ) ;
}
// NewArrExpression
@Override
public boolean preNewArrExpression( ExpressionFactory.NewArrExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void newArrExpressionAfterSize( ExpressionFactory.NewArrExpression arg ) {
}
@Override
public void newArrExpressionBeforeExpression( ExpressionFactory.NewArrExpression arg ) {
}
@Override
public void newArrExpressionAfterExpression( ExpressionFactory.NewArrExpression arg ) {
}
@Override
public void postNewArrExpression( ExpressionFactory.NewArrExpression arg ) {
postExpression( arg ) ;
}
// SuperCallExpression
@Override
public boolean preSuperCallExpression( ExpressionFactory.SuperCallExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void superCallExpressionBeforeArg( ExpressionFactory.SuperCallExpression arg ) {
}
@Override
public void postSuperCallExpression( ExpressionFactory.SuperCallExpression arg ) {
postExpression( arg ) ;
}
// SuperObjExpression
@Override
public boolean preSuperObjExpression( ExpressionFactory.SuperObjExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void superObjExpressionBeforeArg( ExpressionFactory.SuperObjExpression arg ) {
}
@Override
public void postSuperObjExpression( ExpressionFactory.SuperObjExpression arg ) {
postExpression( arg ) ;
}
// ThisObjExpression
@Override
public boolean preThisObjExpression( ExpressionFactory.ThisObjExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void postThisObjExpression( ExpressionFactory.ThisObjExpression arg ) {
postExpression( arg ) ;
}
@Override
public void thisObjExpressionBeforeArg( ExpressionFactory.ThisObjExpression arg ) {
}
// NonStaticFieldAccessExpression
@Override
public boolean preNonStaticFieldAccessExpression( ExpressionFactory.NonStaticFieldAccessExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void postNonStaticFieldAccessExpression( ExpressionFactory.NonStaticFieldAccessExpression arg ) {
postExpression( arg ) ;
}
// StaticFieldAccessExpression
@Override
public boolean preStaticFieldAccessExpression( ExpressionFactory.StaticFieldAccessExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void postStaticFieldAccessExpression( ExpressionFactory.StaticFieldAccessExpression arg ) {
postExpression( arg ) ;
}
// ArrayIndexExpression
@Override
public boolean preArrayIndexExpression( ExpressionFactory.ArrayIndexExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void arrayIndexExpressionBeforeExpr( ExpressionFactory.ArrayIndexExpression arg ) {
}
@Override
public void postArrayIndexExpression( ExpressionFactory.ArrayIndexExpression arg ) {
postExpression( arg ) ;
}
// ArrayLengthExpression
@Override
public boolean preArrayLengthExpression( ExpressionFactory.ArrayLengthExpression arg ) {
return preExpression( arg ) ;
}
@Override
public void postArrayLengthExpression( ExpressionFactory.ArrayLengthExpression arg ) {
postExpression( arg ) ;
}
}