public abstract class Expression extends ASTNode
Expression:Annotation
,ArrayAccess
,ArrayCreation
,ArrayInitializer
,Assignment
,BooleanLiteral
,CastExpression
,CharacterLiteral
,ClassInstanceCreation
,ConditionalExpression
,CreationReference
,ExpressionMethodReference
,FieldAccess
,InfixExpression
,InstanceofExpression
,LambdaExpression
,MethodInvocation
,MethodReference
,Name
,NullLiteral
,NumberLiteral
,ParenthesizedExpression
,PostfixExpression
,PrefixExpression
,StringLiteral
,SuperFieldAccess
,SuperMethodInvocation
,SuperMethodReference
,ThisExpression
,TypeLiteral
,TypeMethodReference
,VariableDeclarationExpression
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 |
---|---|
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).
|
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 final Object resolveConstantExpressionValue()
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.
null
if this
expression has no constant expression value or if bindings were not
requested when the AST was createdpublic final ITypeBinding resolveTypeBinding()
Note that bindings are generally unavailable unless requested when the AST is being built.
null
if the type cannot be resolvedpublic final boolean resolveBoxing()
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 createdpublic final boolean resolveUnboxing()
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
Copyright (c) 2000, 2014 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.