|
org.eclipse.jdt.core.dom
Class ClassInstanceCreation
java.lang.Object
org.eclipse.jdt.core.dom.ASTNode
org.eclipse.jdt.core.dom.Expression
org.eclipse.jdt.core.dom.ClassInstanceCreation
-
public class ClassInstanceCreation
- extends
Expression
Class instance creation expression AST node type.
For JLS2:
ClassInstanceCreation:
[ Expression . ] new Name
( [ Expression { , Expression } ] )
[ AnonymousClassDeclaration ]
For JLS3, type arguments are added
and the type name is generalized to a type so that parameterized
types can be instantiated:
ClassInstanceCreation:
[ Expression . ]
new [ < Type { , Type } > ]
Type ( [ Expression { , Expression } ] )
[ AnonymousClassDeclaration ]
Not all node arragements will represent legal Java constructs. In particular,
it is nonsense if the type is a primitive type or an array type (primitive
types cannot be instantiated, and array creations must be represented with
ArrayCreation nodes). The normal use is when the type is a
simple, qualified, or parameterized type.
A type like "A.B" can be represented either of two ways:
-
QualifiedType(SimpleType(SimpleName("A")),SimpleName("B"))
-
SimpleType(QualifiedName(SimpleName("A"),SimpleName("B")))
The first form is preferred when "A" is known to be a type (as opposed
to a package). However, a parser cannot always determine this. Clients
should be prepared to handle either rather than make assumptions.
(Note also that the first form became possible as of JLS3; only the second
form existed in JLS2.)
-
Since:
- 2.0
-
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
|
Method Summary
|
List
|
arguments
()
Returns the live ordered list of argument expressions in this class
instance creation expression. |
AnonymousClassDeclaration
|
getAnonymousClassDeclaration
()
Returns the anonymous class declaration introduced by this
class instance creation expression, if it has one. |
Expression
|
getExpression
()
Returns the expression of this class instance creation expression, or
null if there is none. |
Name
|
getName
()
Deprecated. In the JLS3 API, this method is replaced by
getType() , which returns a Type instead of a
Name .
|
Type
|
getType
()
Returns the type instantiated in this class instance creation
expression (added in JLS3 API). |
static
List
|
propertyDescriptors
(int apiLevel)
Returns a list of structural property descriptors for this node type. |
IMethodBinding
|
resolveConstructorBinding
()
Resolves and returns the binding for the constructor invoked by this
expression. |
void
|
setAnonymousClassDeclaration
(
AnonymousClassDeclaration decl)
Sets whether this class instance creation expression declares
an anonymous class (that is, has class body declarations). |
void
|
setExpression
(
Expression expression)
Sets or clears the expression of this class instance creation expression. |
void
|
setName
(
Name name)
Deprecated. In the JLS3 API, this method is replaced by
setType(Type) , which expects a Type instead of
a Name .
|
void
|
setType
(
Type type)
Sets the type instantiated in this class instance creation
expression (added in JLS3 API). |
List
|
typeArguments
()
Returns the live ordered list of type arguments of this class
instance creation (added in JLS3 API). |
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
|
TYPE_ARGUMENTS_PROPERTY
public static final
ChildListPropertyDescriptor TYPE_ARGUMENTS_PROPERTY
- The "typeArguments" structural property of this node type (added in JLS3 API).
-
Since:
- 3.1
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 (JLS2 API only).
-
Since:
- 3.0
TYPE_PROPERTY
public static final
ChildPropertyDescriptor TYPE_PROPERTY
- The "type" structural property of this node type (added in JLS3 API).
-
Since:
- 3.1
ARGUMENTS_PROPERTY
public static final
ChildListPropertyDescriptor ARGUMENTS_PROPERTY
- The "arguments" structural property of this node type.
-
Since:
- 3.0
ANONYMOUS_CLASS_DECLARATION_PROPERTY
public static final
ChildPropertyDescriptor ANONYMOUS_CLASS_DECLARATION_PROPERTY
- The "anonymousClassDeclaration" 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 class instance creation expression, or
null if there is none.
-
-
Returns:
- the expression node, or
null if there is none
setExpression
public void setExpression(
Expression expression)
- Sets or clears the expression of this class instance creation expression.
-
-
Parameters:
-
expression - the expression node, or null if
there is none
-
Throws:
-
IllegalArgumentException
- if:
- the node belongs to a different AST
- the node already has a parent
- a cycle in would be created
typeArguments
public
List typeArguments()
- Returns the live ordered list of type arguments of this class
instance creation (added in JLS3 API).
-
-
Returns:
- the live list of type arguments
(element type:
Type )
-
Throws:
-
UnsupportedOperationException
- if this operation is used in
a JLS2 AST -
Since:
- 3.1
getName
public
Name getName()
-
Deprecated. In the JLS3 API, this method is replaced by
getType() , which returns a Type instead of a
Name .
- Returns the name of the type instantiated in this class instance
creation expression (JLS2 API only).
-
-
Returns:
- the type name node
-
Throws:
-
UnsupportedOperationException
- if this operation is used in
an AST later than JLS2
setName
public void setName(
Name name)
-
Deprecated. In the JLS3 API, this method is replaced by
setType(Type) , which expects a Type instead of
a Name .
- Sets the name of the type instantiated in this class instance
creation expression (JLS2 API only).
-
-
Parameters:
-
name - the new type name
-
Throws:
-
IllegalArgumentException
- if:
- the node belongs to a different AST
- the node already has a parent
`
-
UnsupportedOperationException
- if this operation is used in
an AST later than JLS2
getType
public
Type getType()
- Returns the type instantiated in this class instance creation
expression (added in JLS3 API).
-
-
Returns:
- the type node
-
Throws:
-
UnsupportedOperationException
- if this operation is used in
a JLS2 AST -
Since:
- 3.1
setType
public void setType(
Type type)
- Sets the type instantiated in this class instance creation
expression (added in JLS3 API).
-
-
Parameters:
-
type - the new type
-
Throws:
-
IllegalArgumentException
- if:
- the node belongs to a different AST
- the node already has a parent
`
-
UnsupportedOperationException
- if this operation is used in
a JLS2 AST -
Since:
- 3.1
arguments
public
List arguments()
- Returns the live ordered list of argument expressions in this class
instance creation expression.
-
-
Returns:
- the live list of argument expressions (possibly empty)
(element type:
Expression )
getAnonymousClassDeclaration
public
AnonymousClassDeclaration getAnonymousClassDeclaration()
- Returns the anonymous class declaration introduced by this
class instance creation expression, if it has one.
-
-
Returns:
- the anonymous class declaration, or
null if none
setAnonymousClassDeclaration
public void setAnonymousClassDeclaration(
AnonymousClassDeclaration decl)
- Sets whether this class instance creation expression declares
an anonymous class (that is, has class body declarations).
-
-
Parameters:
-
decl - the anonymous class declaration, or null
if none
resolveConstructorBinding
public
IMethodBinding resolveConstructorBinding()
- Resolves and returns the binding for the constructor invoked by this
expression. For anonymous classes, the binding is that of the anonymous
constructor.
Note that bindings are generally unavailable unless requested when the
AST is being built.
-
-
Returns:
- the constructor binding, or
null if the binding
cannot be resolved
Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.
|
|