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
,
SuperFieldAccess
Modifier and Type | Field and Description |
---|---|
static ChildPropertyDescriptor |
EXPRESSION_PROPERTY
The "expression" structural property of this node type (child type:
Expression ). |
static ChildPropertyDescriptor |
NAME_PROPERTY
The "name" structural property of this node type (child type:
SimpleName ). |
ANNOTATION_TYPE_DECLARATION, ANNOTATION_TYPE_MEMBER_DECLARATION, ANONYMOUS_CLASS_DECLARATION, ARRAY_ACCESS, ARRAY_CREATION, ARRAY_INITIALIZER, ARRAY_TYPE, ASSERT_STATEMENT, ASSIGNMENT, BLOCK, BLOCK_COMMENT, BOOLEAN_LITERAL, BREAK_STATEMENT, CAST_EXPRESSION, CATCH_CLAUSE, CHARACTER_LITERAL, CLASS_INSTANCE_CREATION, COMPILATION_UNIT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_INVOCATION, CONTINUE_STATEMENT, CREATION_REFERENCE, DIMENSION, DO_STATEMENT, EMPTY_STATEMENT, ENHANCED_FOR_STATEMENT, ENUM_CONSTANT_DECLARATION, ENUM_DECLARATION, EXPRESSION_METHOD_REFERENCE, EXPRESSION_STATEMENT, FIELD_ACCESS, FIELD_DECLARATION, FOR_STATEMENT, IF_STATEMENT, IMPORT_DECLARATION, INFIX_EXPRESSION, INITIALIZER, INSTANCEOF_EXPRESSION, INTERSECTION_TYPE, JAVADOC, LABELED_STATEMENT, LAMBDA_EXPRESSION, LINE_COMMENT, MALFORMED, MARKER_ANNOTATION, MEMBER_REF, MEMBER_VALUE_PAIR, METHOD_DECLARATION, METHOD_INVOCATION, METHOD_REF, METHOD_REF_PARAMETER, MODIFIER, NAME_QUALIFIED_TYPE, NORMAL_ANNOTATION, NULL_LITERAL, NUMBER_LITERAL, ORIGINAL, PACKAGE_DECLARATION, PARAMETERIZED_TYPE, PARENTHESIZED_EXPRESSION, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PRIMITIVE_TYPE, PROTECT, QUALIFIED_NAME, QUALIFIED_TYPE, RECOVERED, RETURN_STATEMENT, SIMPLE_NAME, SIMPLE_TYPE, SINGLE_MEMBER_ANNOTATION, SINGLE_VARIABLE_DECLARATION, STRING_LITERAL, SUPER_CONSTRUCTOR_INVOCATION, SUPER_FIELD_ACCESS, SUPER_METHOD_INVOCATION, SUPER_METHOD_REFERENCE, SWITCH_CASE, SWITCH_STATEMENT, SYNCHRONIZED_STATEMENT, TAG_ELEMENT, TEXT_ELEMENT, THIS_EXPRESSION, THROW_STATEMENT, TRY_STATEMENT, TYPE_DECLARATION, TYPE_DECLARATION_STATEMENT, TYPE_LITERAL, TYPE_METHOD_REFERENCE, TYPE_PARAMETER, UNION_TYPE, VARIABLE_DECLARATION_EXPRESSION, VARIABLE_DECLARATION_FRAGMENT, VARIABLE_DECLARATION_STATEMENT, WHILE_STATEMENT, WILDCARD_TYPE
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 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, 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
Expression
).public static final ChildPropertyDescriptor NAME_PROPERTY
SimpleName
).public static 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 expressionIllegalArgumentException
- if:
public SimpleName getName()
public void setName(SimpleName fieldName)
fieldName
- the field nameIllegalArgumentException
- if:
public IVariableBinding resolveFieldBinding()
Note that bindings are generally unavailable unless requested when the AST is being built.
null
if the binding cannot
be resolved
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.