public class FieldAccess extends Expression
FieldAccess: Expression . Identifier
Note that there are several kinds of expressions that resemble field access expressions: qualified names, this expressions, and super field access expressions. The following guidelines help with correct usage:
ThisExpression
) containing a simple name.
"this" is a keyword, and therefore invalid as an identifier.FieldAccess
) containing a this expression
and a simple name. Again, this is because "this" is a keyword, and
therefore invalid as an identifier.SuperFieldAccess
). "super" is a also
keyword, and therefore invalid as an identifier.QualifiedName
) or as a field access
expression (FieldAccess
) containing simple names. Either
is acceptable, and there is no way to choose between them without
information about what the names resolve to
(ASTParser
may return either).FieldAccess
).QualifiedName
,
ThisExpression
,
Provisional API: This class/interface is part of an interim API that is still under development and expected to
change significantly before reaching stability. It is being made available at this early stage to solicit feedback
from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
(repeatedly) as the API evolves.
Modifier and Type | Field and Description |
---|---|
static ChildPropertyDescriptor |
EXPRESSION_PROPERTY
The "expression" structural property of this node type.
|
static ChildPropertyDescriptor |
NAME_PROPERTY
The "name" structural property of this node type.
|
ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_NAME, ARRAY_TYPE, ARROW_FUNCTION_EXPRESSION, ASSIGNMENT, ASSIGNMENT_NAME, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, DEBUGGER_STATEMENT, DO_STATEMENT, EMPTY_EXPRESSION, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, EXPORT_DECLARATION, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_IN_STATEMENT, FOR_OF_STATEMENT, FOR_STATEMENT, FUNCTION_DECLARATION, FUNCTION_DECLARATION_STATEMENT, FUNCTION_EXPRESSION, FUNCTION_INVOCATION, FUNCTION_REF, FUNCTION_REF_PARAMETER, IF_STATEMENT, IMPORT_DECLARATION, INFERRED_TYPE, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, JAVASCRIPT_UNIT, JSDOC, LABELED_STATEMENT, LINE_COMMENT, LIST_EXPRESSION, MALFORMED, MEMBER_REF, META_PROPERTY, MODIFIER, MODULE_SPECIFIER, NULL_LITERAL, NUMBER_LITERAL, OBJECT_LITERAL, OBJECT_LITERAL_FIELD, OBJECT_NAME, ORIGINAL, PACKAGE_DECLARATION, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, REGULAR_EXPRESSION_LITERAL, REST_ELEMENT_NAME, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_VARIABLE_DECLARATION, SPREAD_ELEMENT, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SWITCH_CASE, SWITCH_STATEMENT, TAG_ELEMENT, TEMPLATE_ELEMENT, TEMPLATE_LITERAL, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_EXPRESSION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, UNDEFINED_LITERAL, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WITH_STATEMENT, YIELD_EXPRESSION
Modifier and Type | Method and Description |
---|---|
Expression |
getExpression()
Returns the expression of this field access expression.
|
SimpleName |
getName()
Returns the name of the field accessed in this field access expression.
|
static java.util.List |
propertyDescriptors(int apiLevel)
Returns a list of structural property descriptors for this node type.
|
IVariableBinding |
resolveFieldBinding()
Resolves and returns the binding for the field accessed by this
expression.
|
void |
setExpression(Expression expression)
Sets the expression of this field access expression.
|
void |
setName(SimpleName fieldName)
Sets the name of the field accessed in this field access expression.
|
resolveBoxing, resolveConstantExpressionValue, resolveTypeBinding, resolveUnboxing
accept, copySubtree, copySubtrees, delete, equals, getAST, getBodyChild, getFlags, getLength, getLocationInParent, getNodeType, getParent, getProperty, getRoot, getStartPosition, getStructuralProperty, hashCode, nodeClassForType, properties, setFlags, setProperty, setSourceRange, setStructuralProperty, structuralPropertiesForType, subtreeBytes, subtreeMatch, toString
public static final ChildPropertyDescriptor EXPRESSION_PROPERTY
public static final ChildPropertyDescriptor NAME_PROPERTY
public static java.util.List propertyDescriptors(int apiLevel)
apiLevel
- the API level; one of the
AST.JLS*
constantsStructuralPropertyDescriptor
)public Expression getExpression()
public void setExpression(Expression expression)
expression
- the new expressionjava.lang.IllegalArgumentException
- if:
public SimpleName getName()
public void setName(SimpleName fieldName)
fieldName
- the field namejava.lang.IllegalArgumentException
- if:
public IVariableBinding resolveFieldBinding()
Note that bindings are generally unavailable unless requested when the AST is being built.
null
if the binding cannot
be resolvedCopyright (c) IBM Corp. and others 2000, 2010. All Rights Reserved.