Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.codehaus.aspectwerkz.expression
Class ArgsIndexVisitor

    java.lang.Object
      org.codehaus.aspectwerkz.expression.ExpressionVisitor
          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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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