/* Generated by JTB 1.5.1 */
package examples.java.ex2jtb.hook;

import examples.java.ex2jtb.syntaxtree.*;

/** All hooks must implement this interface. */
public interface IEnterExitHook {
  /*
   * Enter methods
   */

  /** Called upon entering a {@link ASTStart} node. */
  public void ASTStartEnter();

  /** Called upon entering a {@link ASTExpression} node. */
  public void ASTExpressionEnter();

  /** Called upon entering a {@link ASTAdditiveExpression} node. */
  public void ASTAdditiveExpressionEnter();

  /** Called upon entering a {@link ASTMultiplicativeExpression} node. */
  public void ASTMultiplicativeExpressionEnter();

  /** Called upon entering a {@link ASTUnaryExpression} node. */
  public void ASTUnaryExpressionEnter();

  /** Called upon entering a {@link ASTMyID} node. */
  public void ASTMyIDEnter();

  /** Called upon entering a {@link ASTInteger} node. */
  public void ASTIntegerEnter();

  /** Called upon entering a {@link ASTjc_1} node. */
  public void ASTjc_1Enter();

  /*
   * Exit methods
   */

  /** Called upon exiting a {@link ASTStart} node. *
   * @param n - the node created
   */
  public void ASTStartExit(final ASTStart n);

  /** Called upon exiting a {@link ASTExpression} node. *
   * @param n - the node created
   */
  public void ASTExpressionExit(final ASTExpression n);

  /** Called upon exiting a {@link ASTAdditiveExpression} node. *
   * @param n - the node created
   */
  public void ASTAdditiveExpressionExit(final ASTAdditiveExpression n);

  /** Called upon exiting a {@link ASTMultiplicativeExpression} node. *
   * @param n - the node created
   */
  public void ASTMultiplicativeExpressionExit(final ASTMultiplicativeExpression n);

  /** Called upon exiting a {@link ASTUnaryExpression} node. *
   * @param n - the node created
   */
  public void ASTUnaryExpressionExit(final ASTUnaryExpression n);

  /** Called upon exiting a {@link ASTMyID} node. *
   * @param n - the node created
   */
  public void ASTMyIDExit(final ASTMyID n);

  /** Called upon exiting a {@link ASTInteger} node. *
   * @param n - the node created
   */
  public void ASTIntegerExit(final ASTInteger n);

  /** Called upon exiting a {@link ASTjc_1} node. *
   * @param n - the node created
   */
  public void ASTjc_1Exit(final ASTjc_1 n);

}
