|
org.eclipse.jdt.core.dom
Class FieldAccess
java.lang.Object
org.eclipse.jdt.core.dom.ASTNode
org.eclipse.jdt.core.dom.Expression
org.eclipse.jdt.core.dom.FieldAccess
-
public class FieldAccess
- extends
Expression
Field access expression AST node type.
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:
- An expression like "foo.this" can only be represented as a this
expression (
ThisExpression ) containing a simple name.
"this" is a keyword, and therefore invalid as an identifier.
- An expression like "this.foo" can only be represented as a field
access expression (
FieldAccess ) containing a this expression
and a simple name. Again, this is because "this" is a keyword, and
therefore invalid as an identifier.
- An expression with "super" can only be represented as a super field
access expression (
SuperFieldAccess ). "super" is a also
keyword, and therefore invalid as an identifier.
- An expression like "foo.bar" can be represented either as a
qualified name (
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).
- Other expressions ending in an identifier, such as "foo().bar" can
only be represented as field access expressions
(
FieldAccess ).
-
Since:
- 2.0
-
See Also:
-
QualifiedName ,
ThisExpression ,
SuperFieldAccess
-
Restriction:
- This class is not intended to be instantiated by clients.
Fields inherited from class org.eclipse.jdt.core.dom.
ASTNode
|
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,
DO_STATEMENT,
EMPTY_STATEMENT,
ENHANCED_FOR_STATEMENT,
ENUM_CONSTANT_DECLARATION,
ENUM_DECLARATION,
EXPRESSION_STATEMENT,
FIELD_ACCESS,
FIELD_DECLARATION,
FOR_STATEMENT,
IF_STATEMENT,
IMPORT_DECLARATION,
INFIX_EXPRESSION,
INITIALIZER,
INSTANCEOF_EXPRESSION,
JAVADOC,
LABELED_STATEMENT,
LINE_COMMENT,
MALFORMED,
MARKER_ANNOTATION,
MEMBER_REF,
MEMBER_VALUE_PAIR,
METHOD_DECLARATION,
METHOD_INVOCATION,
METHOD_REF,
METHOD_REF_PARAMETER,
MODIFIER,
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,
SWITCH_CASE,
SWITCH_STATEMENT,
SYNCHRONIZED_STATEMENT,
TAG_ELEMENT,
TEXT_ELEMENT,
THIS_EXPRESSION,
THROW_STATEMENT,
TRY_STATEMENT,
TYPE_DECLARATION,
TYPE_DECLARATION_STATEMENT,
TYPE_LITERAL,
TYPE_PARAMETER,
VARIABLE_DECLARATION_EXPRESSION,
VARIABLE_DECLARATION_FRAGMENT,
VARIABLE_DECLARATION_STATEMENT,
WHILE_STATEMENT,
WILDCARD_TYPE
|
Methods inherited from class org.eclipse.jdt.core.dom.
ASTNode
|
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
|
EXPRESSION_PROPERTY
public static final
ChildPropertyDescriptor EXPRESSION_PROPERTY
- The "expression" structural property of this node type.
-
Since:
- 3.0
NAME_PROPERTY
public static final
ChildPropertyDescriptor NAME_PROPERTY
- The "name" structural property of this node type.
-
Since:
- 3.0
propertyDescriptors
public static
List propertyDescriptors(int apiLevel)
- Returns a list of structural property descriptors for this node type.
Clients must not modify the result.
-
-
Parameters:
-
apiLevel - the API level; one of the
AST.JLS* constants
-
Returns:
- a list of property descriptors (element type:
StructuralPropertyDescriptor ) -
Since:
- 3.0
getExpression
public
Expression getExpression()
- Returns the expression of this field access expression.
-
-
Returns:
- the expression node
setExpression
public void setExpression(
Expression expression)
- Sets the expression of this field access expression.
-
-
Parameters:
-
expression - the new expression
-
Throws:
-
IllegalArgumentException
- if:
- the node belongs to a different AST
- the node already has a parent
- a cycle in would be created
getName
public
SimpleName getName()
- Returns the name of the field accessed in this field access expression.
-
-
Returns:
- the field name
setName
public void setName(
SimpleName fieldName)
- Sets the name of the field accessed in this field access expression.
-
-
Parameters:
-
fieldName - the field name
-
Throws:
-
IllegalArgumentException
- if:
- the node belongs to a different AST
- the node already has a parent
resolveFieldBinding
public
IVariableBinding resolveFieldBinding()
- Resolves and returns the binding for the field accessed by this
expression.
Note that bindings are generally unavailable unless requested when the
AST is being built.
-
-
Returns:
- the variable binding, or
null if the binding cannot
be resolved -
Since:
- 3.0
Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.
|
|