|
org.eclipse.jdt.core.dom
Class Expression
java.lang.Object
org.eclipse.jdt.core.dom.ASTNode
org.eclipse.jdt.core.dom.Expression
-
Direct Known Subclasses:
-
Annotation,
ArrayAccess,
ArrayCreation,
ArrayInitializer,
Assignment,
BooleanLiteral,
CastExpression,
CharacterLiteral,
ClassInstanceCreation,
ConditionalExpression,
FieldAccess,
InfixExpression,
InstanceofExpression,
MethodInvocation,
Name,
NullLiteral,
NumberLiteral,
ParenthesizedExpression,
PostfixExpression,
PrefixExpression,
StringLiteral,
SuperFieldAccess,
SuperMethodInvocation,
ThisExpression,
TypeLiteral,
VariableDeclarationExpression
-
public abstract class Expression
- extends
ASTNode
Abstract base class of AST nodes that represent expressions.
There are several kinds of expressions.
Expression:
Name
IntegerLiteral (includes decimal, hex, and octal forms; and long)
FloatingPointLiteral (includes both float and double)
CharacterLiteral
NullLiteral
BooleanLiteral
StringLiteral
TypeLiteral
ThisExpression
SuperFieldAccess
FieldAccess
Assignment
ParenthesizedExpression
ClassInstanceCreation
ArrayCreation
ArrayInitializer
MethodInvocation
SuperMethodInvocation
ArrayAccess
InfixExpression
InstanceofExpression
ConditionalExpression
PostfixExpression
PrefixExpression
CastExpression
VariableDeclarationExpression
-
Since:
- 2.0
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
|
Method Summary
|
boolean
|
resolveBoxing
()
Returns whether this expression node is the site of a boxing
conversion (JLS3 5.1.7). |
Object
|
resolveConstantExpressionValue
()
Resolves and returns the compile-time constant expression value as
specified in JLS2 15.28, if this expression has one. |
ITypeBinding
|
resolveTypeBinding
()
Resolves and returns the binding for the type of this expression. |
boolean
|
resolveUnboxing
()
Returns whether this expression node is the site of an unboxing
conversion (JLS3 5.1.8). |
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
|
resolveConstantExpressionValue
public final
Object resolveConstantExpressionValue()
- Resolves and returns the compile-time constant expression value as
specified in JLS2 15.28, if this expression has one. Constant expression
values are unavailable unless bindings are requested when the AST is
being built. If the type of the value is a primitive type, the result
is the boxed equivalent (i.e., int returned as an
Integer );
if the type of the value is String , the result is the string
itself. If the expression does not have a compile-time constant expression
value, the result is null .
Resolving constant expressions takes into account the value of simple
and qualified names that refer to constant variables (JLS2 4.12.4).
Note 1: enum constants are not considered constant expressions.
The result is always null for these.
Note 2: Compile-time constant expressions cannot denote null .
So technically
NullLiteral nodes are not constant expressions.
The result is null for these nonetheless.
-
-
Returns:
- the constant expression value, or
null if this
expression has no constant expression value or if bindings were not
requested when the AST was created -
Since:
- 3.1
resolveTypeBinding
public final
ITypeBinding resolveTypeBinding()
- Resolves and returns the binding for the type of this expression.
Note that bindings are generally unavailable unless requested when the
AST is being built.
-
-
Returns:
- the binding for the type of this expression, or
null if the type cannot be resolved
resolveBoxing
public final boolean resolveBoxing()
- Returns whether this expression node is the site of a boxing
conversion (JLS3 5.1.7). This information is available only
when bindings are requested when the AST is being built.
-
-
Returns:
-
true if this expression is the site of a
boxing conversion, or false if either no boxing conversion
is involved or if bindings were not requested when the AST was created -
Since:
- 3.1
resolveUnboxing
public final boolean resolveUnboxing()
- Returns whether this expression node is the site of an unboxing
conversion (JLS3 5.1.8). This information is available only
when bindings are requested when the AST is being built.
-
-
Returns:
-
true if this expression is the site of an
unboxing conversion, or false if either no unboxing
conversion is involved or if bindings were not requested when the
AST was created -
Since:
- 3.1
Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.
|
|