org.codehaus.aspectwerkz.expression
Class ArgsIndexVisitor

java.lang.Object
  extended byorg.codehaus.aspectwerkz.expression.ExpressionVisitor
      extended byorg.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. TODO check support for anonymous pc

Author:
Alexandre Vasseur

Field Summary
 
Fields inherited from class org.codehaus.aspectwerkz.expression.ExpressionVisitor
m_expression, m_expressionInfo, m_namespace, m_root
 
Constructor Summary
ArgsIndexVisitor(ExpressionInfo expressionInfo, String expression, String namespace, ASTRoot root)
           
 
Method Summary
 Object visit(ASTArgParameter node, Object data)
           
 Object visit(ASTArgs node, Object data)
           
 Object visit(ASTPointcutReference node, Object data)
           
 
Methods inherited from class org.codehaus.aspectwerkz.expression.ExpressionVisitor
match, 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, visitAttributes, visitModifiers, visitParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ArgsIndexVisitor

public ArgsIndexVisitor(ExpressionInfo expressionInfo,
                        String expression,
                        String namespace,
                        ASTRoot root)
Method Detail

visit

public Object visit(ASTPointcutReference 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


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