Class ArrayAccessExprContext

java.lang.Object
com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext<ArrayAccessExpr>
com.github.javaparser.symbolsolver.javaparsermodel.contexts.ArrayAccessExprContext
All Implemented Interfaces:
Context

public class ArrayAccessExprContext extends AbstractJavaParserContext<ArrayAccessExpr>

Required to prevent recursive access to the "parent node" (not necessarily the same as the "parent context").

Consider, for example, this code where the cursor is currently at the node of type ArrayAccessExpr:


     var1.perPriority[index].recovered
     ^^^^^^^^^^^^^^^^^^^^^^^             - ArrayAccessExpr
 

The AST for this snippet:


                            FieldAccessExpr                       // This FieldAccessExpr is accessing the field `recovered`
                             /           \
               **ArrayAccessExpr**      SimpleName(recovered)
                  /          \
          FieldAccessExpr  NameExpr(index)                        // This FieldAccessExpr is accessing the field `perPriority`
            /         \
    NameExpr(var1)   SimpleName (perPriority)
 

In this example:

  • The parent node for ArrayAccessExpr is FieldAccessExpr (variable1.perPriority[index].recovered).
    
         // "Parent Node" of the ArrayAccessExpr
         var.perPriority[index].recovered
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   - FieldAccessExpr
         ^^^^^^^^^^^^^^^^^^^^^^             - ArrayAccessExpr
                                ^^^^^^^^^   - SimpleName
     
  • The parent context is the FieldAccessExpr to the left of the outer array-access, which is actually a child node.
    
    
         // "Parent Context" of the ArrayAccessExpr
         var1.perPriority[index].recovered
         ^^^^^^^^^^^^^^^^^^^^^^^             - ArrayAccessExpr
         ^^^^^^^^^^^^^^^^                    - FieldAccessExpr
                          ^^^^^              - NameExpr
     
Author:
Roger Howell