Class ArrayAccessExprContext
java.lang.Object
com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext<ArrayAccessExpr>
com.github.javaparser.symbolsolver.javaparsermodel.contexts.ArrayAccessExprContext
- All Implemented Interfaces:
Context
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
isFieldAccessExpr
(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
-
Field Summary
Fields inherited from class com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext
typeSolver, wrappedNode
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionSymbolReference<? extends ResolvedValueDeclaration>
solveSymbolInParentContext(String name)
Methods inherited from class com.github.javaparser.symbolsolver.javaparsermodel.contexts.AbstractJavaParserContext
equals, findTypeDeclarations, getParent, getScope, getWrappedNode, hashCode, isQualifiedName, solveWith, solveWithAsValue
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.github.javaparser.symbolsolver.core.resolution.Context
fieldDeclarationInScope, fieldsExposedToChild, localVariableDeclarationInScope, localVariablesExposedToChild, negatedPatternExprsExposedFromChildren, parameterDeclarationInScope, parametersExposedToChild, patternExprInScope, patternExprsExposedFromChildren, patternExprsExposedToChild, solveConstructor, solveGenericType, solveGenericTypeInParentContext, solveMethod, solveMethodAsUsage, solveMethodInParentContext, solveSymbol, solveSymbolAsValue, solveSymbolAsValueInParentContext, solveType, solveTypeInParentContext
-
Constructor Details
-
ArrayAccessExprContext
-
-
Method Details
-
solveSymbolInParentContext
- Specified by:
solveSymbolInParentContext
in interfaceContext
- Overrides:
solveSymbolInParentContext
in classAbstractJavaParserContext<ArrayAccessExpr>
-