Package com.github.javaparser.ast.expr
Class FieldAccessExpr
java.lang.Object
com.github.javaparser.ast.Node
com.github.javaparser.ast.expr.Expression
com.github.javaparser.ast.expr.FieldAccessExpr
- All Implemented Interfaces:
NodeWithRange<Node>
,NodeWithScope<FieldAccessExpr>
,NodeWithSimpleName<FieldAccessExpr>
,NodeWithTokenRange<Node>
,NodeWithTraversableScope
,NodeWithTypeArguments<FieldAccessExpr>
,Observable
,Visitable
,HasParentNode<Node>
,Resolvable<ResolvedValueDeclaration>
,Cloneable
public class FieldAccessExpr
extends Expression
implements NodeWithSimpleName<FieldAccessExpr>, NodeWithTypeArguments<FieldAccessExpr>, NodeWithScope<FieldAccessExpr>, Resolvable<ResolvedValueDeclaration>
Access of a field of an object or a class.
In
In
person.name
"name" is the name and "person" is the scope.- Author:
- Julio Vilmar Gesser
-
Nested Class Summary
Nested classes/interfaces inherited from class com.github.javaparser.ast.Node
Node.BreadthFirstIterator, Node.DirectChildrenIterator, Node.ObserverRegistrationMode, Node.ParentsVisitor, Node.Parsedness, Node.PostOrderIterator, Node.PreOrderIterator, Node.TreeTraversal
-
Field Summary
Fields inherited from class com.github.javaparser.ast.Node
ABSOLUTE_BEGIN_LINE, ABSOLUTE_END_LINE, LINE_SEPARATOR_KEY, NODE_BY_BEGIN_POSITION, PHANTOM_KEY, prettyPrinterNoCommentsConfiguration, PRINTER_KEY, SYMBOL_RESOLVER_KEY
-
Constructor Summary
ConstructorsConstructorDescriptionFieldAccessExpr(Expression scope, NodeList<Type> typeArguments, SimpleName name)
FieldAccessExpr(Expression scope, String name)
FieldAccessExpr(TokenRange tokenRange, Expression scope, NodeList<Type> typeArguments, SimpleName name)
This constructor is used by the parser and is considered private. -
Method Summary
Modifier and TypeMethodDescription<R, A> R
accept(GenericVisitor<R,A> v, A arg)
Accept method for visitor support.<A> void
accept(VoidVisitor<A> v, A arg)
Accept method for visitor support.clone()
getName()
getScope()
void
ifFieldAccessExpr(Consumer<FieldAccessExpr> action)
boolean
boolean
Indicate if this FieldAccessExpr is an element directly contained in a larger FieldAccessExpr.boolean
Indicate if this FieldAccessExpr is top level, i.e., it is not directly contained in a larger FieldAccessExpr.boolean
boolean
resolve()
Attempts to resolve the declaration corresponding to the accessed field.setName(SimpleName name)
setScope(Expression scope)
Sets the scopesetTypeArguments(NodeList<Type> typeArguments)
Sets the type argumentsMethods inherited from class com.github.javaparser.ast.expr.Expression
appearsInAssignmentContext, appearsInInvocationContext, asAnnotationExpr, asArrayAccessExpr, asArrayCreationExpr, asArrayInitializerExpr, asAssignExpr, asBinaryExpr, asBooleanLiteralExpr, asCastExpr, asCharLiteralExpr, asClassExpr, asConditionalExpr, asDoubleLiteralExpr, asEnclosedExpr, asInstanceOfExpr, asIntegerLiteralExpr, asLambdaExpr, asLiteralExpr, asLiteralStringValueExpr, asLongLiteralExpr, asMarkerAnnotationExpr, asMethodCallExpr, asMethodReferenceExpr, asNameExpr, asNormalAnnotationExpr, asNullLiteralExpr, asObjectCreationExpr, asPatternExpr, asSingleMemberAnnotationExpr, asStringLiteralExpr, asSuperExpr, asSwitchExpr, asTextBlockLiteralExpr, asThisExpr, asTypeExpr, asUnaryExpr, asVariableDeclarationExpr, calculateResolvedType, elidesTypeArguments, ifAnnotationExpr, ifArrayAccessExpr, ifArrayCreationExpr, ifArrayInitializerExpr, ifAssignExpr, ifBinaryExpr, ifBooleanLiteralExpr, ifCastExpr, ifCharLiteralExpr, ifClassExpr, ifConditionalExpr, ifDoubleLiteralExpr, ifEnclosedExpr, ifInstanceOfExpr, ifIntegerLiteralExpr, ifLambdaExpr, ifLiteralExpr, ifLiteralStringValueExpr, ifLongLiteralExpr, ifMarkerAnnotationExpr, ifMethodCallExpr, ifMethodReferenceExpr, ifNameExpr, ifNormalAnnotationExpr, ifNullLiteralExpr, ifObjectCreationExpr, ifPatternExpr, ifSingleMemberAnnotationExpr, ifStringLiteralExpr, ifSuperExpr, ifSwitchExpr, ifTextBlockLiteralExpr, ifThisExpr, ifTypeExpr, ifUnaryExpr, ifVariableDeclarationExpr, isAnnotationExpr, isArrayAccessExpr, isArrayCreationExpr, isArrayInitializerExpr, isAssignExpr, isAssignmentContext, isBinaryExpr, isBooleanLiteralExpr, isCastExpr, isCharLiteralExpr, isClassExpr, isConditionalExpr, isDoubleLiteralExpr, isEnclosedExpr, isInstanceOfExpr, isIntegerLiteralExpr, isInvocationContext, isLambdaExpr, isLiteralExpr, isLiteralStringValueExpr, isLongLiteralExpr, isMarkerAnnotationExpr, isMethodCallExpr, isMethodReferenceExpr, isNameExpr, isNormalAnnotationExpr, isNullLiteralExpr, isObjectCreationExpr, isPatternExpr, isPolyExpression, isQualified, isSingleMemberAnnotationExpr, isStandaloneExpression, isStringLiteralExpr, isSuperExpr, isSwitchExpr, isTextBlockLiteralExpr, isThisExpr, isTypeExpr, isUnaryExpr, isVariableDeclarationExpr, toAnnotationExpr, toArrayAccessExpr, toArrayCreationExpr, toArrayInitializerExpr, toAssignExpr, toBinaryExpr, toBooleanLiteralExpr, toCastExpr, toCharLiteralExpr, toClassExpr, toConditionalExpr, toDoubleLiteralExpr, toEnclosedExpr, toInstanceOfExpr, toIntegerLiteralExpr, toLambdaExpr, toLiteralExpr, toLiteralStringValueExpr, toLongLiteralExpr, toMarkerAnnotationExpr, toMethodCallExpr, toMethodReferenceExpr, toNameExpr, toNormalAnnotationExpr, toNullLiteralExpr, toObjectCreationExpr, toPatternExpr, toSingleMemberAnnotationExpr, toStringLiteralExpr, toSuperExpr, toSwitchExpr, toTextBlockLiteralExpr, toThisExpr, toTypeExpr, toUnaryExpr, toVariableDeclarationExpr
Methods inherited from class com.github.javaparser.ast.Node
addOrphanComment, containsData, createDefaultPrinter, createDefaultPrinter, customInitialization, equals, findAll, findAll, findAll, findCompilationUnit, findFirst, findFirst, findFirst, findRootNode, getAllContainedComments, getChildNodes, getChildNodesByType, getComment, getData, getDataKeys, getDefaultPrinterConfiguration, getLineEndingStyle, getLineEndingStyleOrDefault, getNodesByType, getOrphanComments, getParentNode, getParentNodeForChildren, getParsed, getPrinter, getPrinter, getRange, getSymbolResolver, getTokenRange, hashCode, hasScope, isAncestorOf, isPhantom, isRegistered, notifyPropertyChange, register, register, registerForSubtree, remove, removeComment, removeData, removeForced, removeOrphanComment, replace, setAsParentNodeOf, setAsParentNodeOf, setBlockComment, setComment, setData, setLineComment, setParentNode, setParsed, setRange, setTokenRange, stream, stream, toString, toString, tryAddImportToParentCompilationUnit, unregister, walk, walk, walk
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.github.javaparser.HasParentNode
findAncestor, findAncestor, hasParentNode, isDescendantOf
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithRange
containsWithin, containsWithinRange, getBegin, getEnd, hasRange
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithScope
traverseScope
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithSimpleName
getNameAsExpression, getNameAsString, setName
Methods inherited from interface com.github.javaparser.ast.nodeTypes.NodeWithTypeArguments
isUsingDiamondOperator, removeTypeArguments, setDiamondOperator, setTypeArguments
-
Constructor Details
-
FieldAccessExpr
public FieldAccessExpr() -
FieldAccessExpr
-
FieldAccessExpr
-
FieldAccessExpr
public FieldAccessExpr(TokenRange tokenRange, Expression scope, NodeList<Type> typeArguments, SimpleName name)This constructor is used by the parser and is considered private.
-
-
Method Details
-
accept
Description copied from interface:Visitable
Accept method for visitor support.- Specified by:
accept
in interfaceVisitable
- Type Parameters:
R
- the type of the return value of the visitorA
- the type the user argument passed to the visitor- Parameters:
v
- the visitor implementationarg
- the argument passed to the visitor (of type A)- Returns:
- the result of the visit (of type R)
-
accept
Description copied from interface:Visitable
Accept method for visitor support. -
getName
- Specified by:
getName
in interfaceNodeWithSimpleName<FieldAccessExpr>
-
setName
- Specified by:
setName
in interfaceNodeWithSimpleName<FieldAccessExpr>
-
getScope
- Specified by:
getScope
in interfaceNodeWithScope<FieldAccessExpr>
-
setScope
Sets the scope- Specified by:
setScope
in interfaceNodeWithScope<FieldAccessExpr>
- Parameters:
scope
- the scope, can not be null- Returns:
- this, the FieldAccessExpr
-
getTypeArguments
- Specified by:
getTypeArguments
in interfaceNodeWithTypeArguments<FieldAccessExpr>
- Returns:
- the types that can be found in the type arguments:
<String, Integer>
.
-
setTypeArguments
Sets the type arguments- Specified by:
setTypeArguments
in interfaceNodeWithTypeArguments<FieldAccessExpr>
- Parameters:
typeArguments
- the type arguments, can be null- Returns:
- this, the FieldAccessExpr
-
clone
- Overrides:
clone
in classExpression
-
getMetaModel
- Overrides:
getMetaModel
in classExpression
- Returns:
- get JavaParser specific node introspection information.
-
remove
-
replace
-
isFieldAccessExpr
public boolean isFieldAccessExpr()- Overrides:
isFieldAccessExpr
in classExpression
-
asFieldAccessExpr
- Overrides:
asFieldAccessExpr
in classExpression
-
ifFieldAccessExpr
- Overrides:
ifFieldAccessExpr
in classExpression
-
resolve
Attempts to resolve the declaration corresponding to the accessed field. If successful, aResolvedValueDeclaration
representing the declaration of the value accessed by thisFieldAccessExpr
is returned. Otherwise, anUnsolvedSymbolException
is thrown.- Specified by:
resolve
in interfaceResolvable<ResolvedValueDeclaration>
- Returns:
- a
ResolvedValueDeclaration
representing the declaration of the accessed value. - Throws:
UnsolvedSymbolException
- if the declaration corresponding to the field access expression could not be resolved.- See Also:
NameExpr.resolve()
,MethodCallExpr.resolve()
,ObjectCreationExpr.resolve()
,ExplicitConstructorInvocationStmt.resolve()
-
toFieldAccessExpr
- Overrides:
toFieldAccessExpr
in classExpression
-
isInternal
public boolean isInternal()Indicate if this FieldAccessExpr is an element directly contained in a larger FieldAccessExpr. -
isTopLevel
public boolean isTopLevel()Indicate if this FieldAccessExpr is top level, i.e., it is not directly contained in a larger FieldAccessExpr.
-