blob: 4b2f678bec0b3ea4d14432ce5a85dcfc7105c28f [file] [log] [blame]
<?php
/**
* File containing the ezcTemplateBasicAstNodeVisitor class
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
* @package Template
* @version //autogen//
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
* @access private
*/
/**
* Visitor interface for the basic nodes.
*
* This interface defines the methods for all the generic nodes.
*
* The acyclic visitor pattern is used as the basis of this interface. Combining
* this interface with other specialized ones allows the implementation of classes
* which can visit all kinds of nodes.
*
* @package Template
* @version //autogen//
* @access private
*/
interface ezcTemplateAstNodeVisitor// extends ezcTemplateAstNodeVisitor
{
/**
* Visits a node containing a builtin constant type.
*
* @param ezcTemplateLiteralAstNode $node The node containing the constant value.
* @return void
*/
public function visitLiteralAstNode( ezcTemplateLiteralAstNode $node );
/**
* Visits a node containing an constant.
*
* @param ezcTemplateConstantAstNode $node The node containing the constant value.
* @return void
*/
public function visitConstantAstNode( ezcTemplateConstantAstNode $node );
/**
* Visits a node containing an variable.
*
* @param ezcTemplateVariableAstNode $node The node containing the variable value.
* @return void
*/
public function visitVariableAstNode( ezcTemplateVariableAstNode $node );
/**
* Visits a node containing a dynamic variable.
*
* @param ezcTemplateDynamicVariableAstNode $node The node containing the dynamic variable value.
* @return void
*/
public function visitDynamicVariableAstNode( ezcTemplateDynamicVariableAstNode $node );
/**
* Visits a node containing a dynamic string.
*
* @param ezcTemplateDynamicStringAstNode $node The node containing the dynamic string.
* @return void
*/
public function visitDynamicStringAstNode( ezcTemplateDynamicStringAstNode $node );
/**
* Visits a node containing an array fetch operator type.
*
* @param ezcTemplateArrayFetchOperatorAstNode $node The node containing the array fetch operator.
* @return void
*/
public function visitArrayFetchOperatorAstNode( ezcTemplateArrayFetchOperatorAstNode $node );
/**
* Visits a node containing a unary operator type.
* Unary operators take one parameter and consist of a symbol.
*
* @param ezcTemplateOperatorAstNode $node The node containing the operator with parameter.
* @return void
*/
public function visitUnaryOperatorAstNode( ezcTemplateOperatorAstNode $node );
/**
* Visits a node containing a binary operator type.
* Binary operators take two parameters and consist of a symbol.
*
* @param ezcTemplateOperatorAstNode $node The node containing the operator with parameters.
* @return void
*/
public function visitBinaryOperatorAstNode( ezcTemplateOperatorAstNode $node );
/**
* Visits a node containing a function call.
* Function call consist of a function name and arguments.
*
* @param ezcTemplateFunctionCallAstNode $node The node containing the function call with arguments.
* @return void
*/
public function visitFunctionCallAstNode( ezcTemplateFunctionCallAstNode $node );
/**
* Visits a node containing a body of statements.
* A body consists of a series of statements in sequence.
*
* @param ezcTemplateBodyAstNode $node The node containing the body.
* @return void
*/
public function visitBodyAstNode( ezcTemplateBodyAstNode $node );
/**
* Visits the node $node containing output.
*
* @param ezcTemplateOutputAstNode $node
* @return void
*/
public function visitOutputAstNode( ezcTemplateOutputAstNode $node );
/**
* Visits a node containing a generic statement.
* A generic statement contains a generic code expression but is terminated with a semi-colon.
*
* @param ezcTemplateGenericStatementAstNode $node The node containing the generic statement.
* @return void
*/
public function visitGenericStatementAstNode( ezcTemplateGenericStatementAstNode $node );
/**
* Visits a node containing if control structures.
*
* @param ezcTemplateIfAstNode $node The node containing the if control structure.
* @return void
*/
public function visitIfAstNode( ezcTemplateIfAstNode $node );
/**
* Visits a node containing while control structures.
*
* @param ezcTemplateWhileAstNode $node The node containing the while control structure.
*/
public function visitWhileAstNode( ezcTemplateWhileAstNode $node );
/**
* Visits a node containing conditions for if control structures.
*
* @param ezcTemplateConditionBodyAstNode $node The node containing the if condition.
* @return void
*/
public function visitConditionBodyAstNode( ezcTemplateConditionBodyAstNode $node );
/**
* Visits a node containing foreach control structures.
*
* @param ezcTemplateForeachAstNode $node The node containing the foreach control structure.
* @return void
*/
public function visitForeachAstNode( ezcTemplateForeachAstNode $node );
/**
* Visits a node containing break control structures.
*
* @param ezcTemplateBreakAstNode $node The node containing the break control structure.
* @return void
*/
public function visitBreakAstNode( ezcTemplateBreakAstNode $node );
/**
* Visits a node containing continue control structures.
*
* @param ezcTemplateContinueAstNode $node The node containing the continue control structure.
* @return void
*/
public function visitContinueAstNode( ezcTemplateContinueAstNode $node );
/**
* Visits a node containing switch control structures.
*
* @param ezcTemplateSwitchAstNode $node The node containing the switch control structure.
* @return void
*/
public function visitSwitchAstNode( ezcTemplateSwitchAstNode $node );
/**
* Visits a node containing case control structures.
*
* @param ezcTemplateCaseAstNode $node The node containing the case control structure.
* @return void
*/
public function visitCaseAstNode( ezcTemplateCaseAstNode $node );
/**
* Visits a node containing default case control structures.
*
* @param ezcTemplateDefaultAstNode $node The node containing the default case control structure.
* @return void
*/
public function visitDefaultAstNode( ezcTemplateDefaultAstNode $node );
/**
* Visits a node containing return control structures.
*
* @param ezcTemplateReturnAstNode $node The node containing the return control structure.
* @return void
*/
public function visitReturnAstNode( ezcTemplateReturnAstNode $node );
/**
* Visits a node containing require control structures.
*
* @param ezcTemplateRequireAstNode $node The node containing the require control structure.
* @return void
*/
public function visitRequireAstNode( ezcTemplateRequireAstNode $node );
/**
* Visits a node containing require_once control structures.
*
* @param ezcTemplateRequireOnceAstNode $node The node containing the require_once control structure.
* @return void
*/
public function visitRequireOnceAstNode( ezcTemplateRequireOnceAstNode $node );
/**
* Visits a node containing include control structures.
*
* @param ezcTemplateIncludeAstNode $node The node containing the include control structure.
* @return void
*/
public function visitIncludeAstNode( ezcTemplateIncludeAstNode $node );
/**
* Visits a node containing include_once control structures.
*
* @param ezcTemplateIncludeOnceAstNode $node The node containing the include_once control structure.
* @return void
*/
public function visitIncludeOnceAstNode( ezcTemplateIncludeOnceAstNode $node );
/**
* Visits a node containing try control structures.
*
* @param ezcTemplateTryAstNode $node The node containing the try control structure.
* @return void
*/
public function visitTryAstNode( ezcTemplateTryAstNode $node );
/**
* Visits a node containing catch control structures.
*
* @param ezcTemplateCatchAstNode $node The node containing the catch control structure.
* @return void
*/
public function visitCatchAstNode( ezcTemplateCatchAstNode $node );
/**
* Visits a node containing echo construct.
*
* @param ezcTemplateEchoAstNode $node The node containing the echo construct.
* @return void
*/
public function visitEchoAstNode( ezcTemplateEchoAstNode $node );
/**
* Visits a node containing print construct.
*
* @param ezcTemplatePrintAstNode $node The node containing the print construct.
* @return void
*/
public function visitPrintAstNode( ezcTemplatePrintAstNode $node );
/**
* Visits a node containing isset construct.
*
* @param ezcTemplateIssetAstNode $node The node containing the isset construct.
* @return void
*/
public function visitIssetAstNode( ezcTemplateIssetAstNode $node );
/**
* Visits a node containing unset construct.
*
* @param ezcTemplateUnsetAstNode $node The node containing the unset construct.
* @return void
*/
public function visitUnsetAstNode( ezcTemplateUnsetAstNode $node );
/**
* Visits a node containing empty construct.
*
* @param ezcTemplateEmptyAstNode $node The node containing the empty construct.
* @return void
*/
public function visitEmptyAstNode( ezcTemplateEmptyAstNode $node );
/**
* Visits a node containing type cast construct.
*
* @param ezcTemplateTypeCastAstNode $node The node containing the type cast construct.
* @return void
*/
public function visitTypeCastAstNode( ezcTemplateTypeCastAstNode $node );
/**
* Visits a node containing a nop node.
*
* @param ezcTemplateNopAstNode $node The node containing the nop node.
* @return void
*/
public function visitNopAstNode( ezcTemplateNopAstNode $node );
}
?>