org.codehaus.aspectwerkz.expression
Class ArgsIndexVisitor

java.lang.Object
  extended by org.codehaus.aspectwerkz.expression.ExpressionVisitor
      extended by org.codehaus.aspectwerkz.expression.ArgsIndexVisitor
All Implemented Interfaces:
ExpressionParserVisitor

public class ArgsIndexVisitor
extends ExpressionVisitor

A visitor to compute the args index of the target (matching) method/constructor which match the advice args. Note: extends the ExpressionVisitor. We should allow for optimization (all=TRUE) by assuming that args(..) does not depends of the matching context. The "(String a, String b):methodX && args(a,b) -OR- methodY && args(b,a)" expression should not be allowed then.

Author:
Alexandre Vasseur

Field Summary
 
Fields inherited from class org.codehaus.aspectwerkz.expression.ExpressionVisitor
m_expression, m_expressionInfo, m_namespace, m_root
 
Method Summary
static void updateContextForRuntimeInformation(ExpressionInfo expressionInfo, ExpressionContext context, ClassLoader loader)
          Update the given context with its runtime information (this, target, args).
 Object visit(ASTArgParameter node, Object data)
           
 Object visit(ASTArgs node, Object data)
           
 Object visit(ASTCflow node, Object data)
           
 Object visit(ASTPointcutReference node, Object data)
           
 Object visit(ASTTarget node, Object data)
           
 Object visit(ASTThis node, Object data)
           
 
Methods inherited from class org.codehaus.aspectwerkz.expression.ExpressionVisitor
getASTRoot, getExpressionInfo, match, matchUndeterministic, toString, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitAnnotatedNode, visitAttributes, visitModifiers, visitParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

updateContextForRuntimeInformation

public static void updateContextForRuntimeInformation(ExpressionInfo expressionInfo,
                                                      ExpressionContext context,
                                                      ClassLoader loader)
Update the given context with its runtime information (this, target, args). It should be called for each advice.

Parameters:
expressionInfo -
context -

visit

public Object visit(ASTPointcutReference node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor
Overrides:
visit in class ExpressionVisitor

visit

public Object visit(ASTCflow node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor
Overrides:
visit in class ExpressionVisitor

visit

public Object visit(ASTArgs node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor
Overrides:
visit in class ExpressionVisitor

visit

public Object visit(ASTArgParameter node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor
Overrides:
visit in class ExpressionVisitor

visit

public Object visit(ASTThis node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor
Overrides:
visit in class ExpressionVisitor

visit

public Object visit(ASTTarget node,
                    Object data)
Specified by:
visit in interface ExpressionParserVisitor
Overrides:
visit in class ExpressionVisitor


Copyright © 2002-2005 Jonas Bonér, Alexandre Vasseur. All Rights Reserved.