Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1.1.0)

E13403-02

oracle.javatools.parser.java.v1.symbol
Class CreatorExpressionSymbol

java.lang.Object
  extended by oracle.javatools.parser.util.ArrayListHeap
      extended by oracle.javatools.parser.java.v1.symbol.JavaSymbol
          extended by oracle.javatools.parser.java.v1.symbol.ExpressionSymbol
              extended by oracle.javatools.parser.java.v1.symbol.CreatorExpressionSymbol
All Implemented Interfaces:
JavaSyntaxCodes, JavaTokens, Nameable, ExpressionObject

public class CreatorExpressionSymbol
extends ExpressionSymbol

CreatorExpressionSymbol represents all primaries and primary selectors that start with the 'new' token. There are four types of creators: just class instances, anonymous classes, uninitialized arrays, and initialized arrays.


Field Summary
static int ANONYMOUS_CLASS
          This is an anonymous class: "new classname( arguments ) { }".
static int CLASS_INSTANCE
          This is a simple new statement: "new classname( arguments )".
static int INITIALIZED_ARRAY
          This is an initialized array creator.
static int UNINITIALIZED_ARRAY
          This is an uninitialized array creator.
 
Fields inherited from class oracle.javatools.parser.java.v1.symbol.ExpressionSymbol
CATEGORY_ARGUMENTS, CATEGORY_ARRAY_CONSTANT, CATEGORY_ASG_OPERATOR, CATEGORY_BRACKET_DEREFERENCE, CATEGORY_CONSTANT, CATEGORY_CREATOR, CATEGORY_DOT_OPERATOR, CATEGORY_INFIX_OPERATOR, CATEGORY_PAREN_WRAPPER, CATEGORY_POSTFIX_OPERATOR, CATEGORY_PREFIX_OPERATOR, CATEGORY_PRIMARY, CATEGORY_PRIMARY_BRACKETS, CATEGORY_QUES_OPERATOR, CATEGORY_TYPECAST, CATEGORY_UNPARSED, CATEGORY_WRAPPER, firstOperand
 
Fields inherited from interface oracle.javatools.parser.util.ExpressionObject
ATOM, INFIX_OP, LEFT_ASSOC, MAX_PRECEDENCE, NON_ASSOC, POSTFIX_OP, PREFIX_OP, RIGHT_ASSOC, TERNARY_OP
 
Fields inherited from interface oracle.javatools.parser.java.v1.JavaTokens
TK_ABSTRACT, TK_AND_ASG, TK_ASG, TK_ASSERT, TK_BINAND, TK_BINNOT, TK_BINOR, TK_BINXOR, TK_BOOLEAN, TK_BOOLEAN_LITERAL, TK_BREAK, TK_BYTE, TK_CASE, TK_CATCH, TK_CHAR, TK_CHAR_LITERAL, TK_CLASS, TK_COLON, TK_COMMA, TK_CONST, TK_CONTINUE, TK_DEC, TK_DEFAULT, TK_DIV, TK_DIV_ASG, TK_DO, TK_DOC_COMMENT, TK_DOT, TK_DOUBLE, TK_ELSE, TK_EQ, TK_EXTENDS, TK_FINAL, TK_FINALLY, TK_FLOAT, TK_FLOAT_LITERAL, TK_FOR, TK_GE, TK_GOTO, TK_GT, TK_IDENTIFIER, TK_IF, TK_IMPLEMENTS, TK_IMPORT, TK_INC, TK_INSTANCEOF, TK_INT, TK_INT_LITERAL, TK_INTERFACE, TK_LBRACE, TK_LBRACKET, TK_LE, TK_LOGAND, TK_LOGNOT, TK_LOGOR, TK_LONG, TK_LPAREN, TK_LSH, TK_LSH_ASG, TK_LT, TK_MINUS, TK_MINUS_ASG, TK_MOD, TK_MOD_ASG, TK_MUL, TK_MUL_ASG, TK_MULTI_COMMENT, TK_NATIVE, TK_NE, TK_NEW, TK_NULL_LITERAL, TK_OR_ASG, TK_PACKAGE, TK_PLUS, TK_PLUS_ASG, TK_PRIVATE, TK_PROTECTED, TK_PUBLIC, TK_QUES, TK_RBRACE, TK_RBRACKET, TK_RETURN, TK_RPAREN, TK_RSH, TK_RSH_ASG, TK_SEMI, TK_SHORT, TK_SINGLE_COMMENT, TK_SQLJ_STATEMENT, TK_STATIC, TK_STRICTFP, TK_STRING_LITERAL, TK_SUPER, TK_SWITCH, TK_SYNCHRONIZED, TK_THIS, TK_THROW, TK_THROWS, TK_TRANSIENT, TK_TRY, TK_URSH, TK_URSH_ASG, TK_VOID, TK_VOLATILE, TK_WHILE, TK_XOR_ASG
 
Fields inherited from interface oracle.javatools.parser.java.v1.JavaSyntaxCodes
SYNTAX_ARGUMENTS, SYNTAX_ARRAY_CREATOR, SYNTAX_ARRAY_INITIALIZER, SYNTAX_ASG_OPERATOR, SYNTAX_BLOCK, SYNTAX_BRACKET_EXPRESSION, SYNTAX_BRACKETS_OPT, SYNTAX_BROKEN, SYNTAX_CATCH_CLAUSE, SYNTAX_CATCH_PAREN_EXPRESSION, SYNTAX_CLASS_CREATOR, SYNTAX_CLASS_DECLARATION, SYNTAX_CLASS_INITIALIZER, SYNTAX_CODE_ELEMENT, SYNTAX_CONSTRUCTOR_DECLARATION, SYNTAX_CONTROL_PAREN_EXPRESSION, SYNTAX_CREATOR, SYNTAX_DO_STATEMENT, SYNTAX_DOC_COMMENT, SYNTAX_ELSE_CLAUSE, SYNTAX_EXP_WRAPPER, SYNTAX_EXPRESSION, SYNTAX_EXPRESSION_OR_DECL, SYNTAX_EXTENDS, SYNTAX_FIELD_DECLARATION, SYNTAX_FINALLY_CLAUSE, SYNTAX_FOR_CONDITIONAL, SYNTAX_FOR_INIT, SYNTAX_FOR_PAREN_EXPRESSION, SYNTAX_FOR_STATEMENT, SYNTAX_FOR_UPDATE, SYNTAX_FORMAL_PARAMETER, SYNTAX_FORMAL_PARAMETER_LIST, SYNTAX_IDENTIFIER_PRIMARY, SYNTAX_IF_STATEMENT, SYNTAX_IMPLEMENTS, SYNTAX_IMPORT_DECLARATION, SYNTAX_INFIX_OPERATOR, SYNTAX_INIT_ARRAY_CREATOR, SYNTAX_INNER_CLASS_OR_INTERFACE, SYNTAX_INNER_CREATOR, SYNTAX_INTERFACE_DECLARATION, SYNTAX_JAVA_ROOT, SYNTAX_MEMBER_DECLARATION, SYNTAX_METHOD_DECLARATION, SYNTAX_MODIFIERS, SYNTAX_PACKAGE_DECLARATION, SYNTAX_PAREN_EXPRESSION, SYNTAX_POSTFIX_OPERATOR, SYNTAX_PREFIX_OPERATOR, SYNTAX_PRIMARY, SYNTAX_PRIMARY_BRACKETS, SYNTAX_PRIMARY_WORD, SYNTAX_QUALIFIED_IMPORT_NAME, SYNTAX_QUALIFIED_NAME, SYNTAX_QUALIFIED_PRIMARY, SYNTAX_QUES_OPERATOR, SYNTAX_SIMPLE_NAME, SYNTAX_SQLJ_CONTEXT, SYNTAX_SQLJ_STATEMENT, SYNTAX_STATEMENT, SYNTAX_SWITCH_BLOCK, SYNTAX_SWITCH_CASE, SYNTAX_SWITCH_STATEMENT, SYNTAX_SYNCH_STATEMENT, SYNTAX_THROWS, SYNTAX_TRY_STATEMENT, SYNTAX_TYPE, SYNTAX_TYPE_BODY, SYNTAX_TYPE_DECLARATION, SYNTAX_UNINIT_ARRAY_CREATOR, SYNTAX_UNPARSED_BLOCK, SYNTAX_UNPARSED_EXPRESSION, SYNTAX_UNPARSED_PAREN_EXPRESSION, SYNTAX_VARIABLE_DECLARATOR, SYNTAX_VARIABLE_INITIALIZER, SYNTAX_WHILE_STATEMENT
 
Method Summary
 ClassSymbol getClassDefinition()
          Returns the class definition of an anonymous class.
 TypeSymbol getClassType()
          Gets the type of the class instance just created.
 int getCreatorType()
          Gets which kind of creator this is.
 NameSymbol getName()
          Gets the name symbol.
 void setName(NameSymbol name)
          Sets the name symbol.
 
Methods inherited from class oracle.javatools.parser.java.v1.symbol.ExpressionSymbol
addOperand, classify, closeOperator, getAssociativity, getCategory, getDataValue, getExactCode, getExpressions, getFirstOperand, getIndex, getPrecedence, getPrecedence, getSecondOperand, getThirdOperand, getTypecast, isFilledIn
 
Methods inherited from class oracle.javatools.parser.java.v1.symbol.JavaSymbol
getCode, getEndOffset, getParent, getStartOffset
 
Methods inherited from class oracle.javatools.parser.util.ArrayListHeap
allocArrayList, freeArrayList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_INSTANCE

public static final int CLASS_INSTANCE
This is a simple new statement: "new classname( arguments )". The first operand has category CATEGORY_ARGUMENTS.

See Also:
Constant Field Values

ANONYMOUS_CLASS

public static final int ANONYMOUS_CLASS
This is an anonymous class: "new classname( arguments ) { }". The first operand has category CATEGORY_ARGUMENTS. getClassDefinition() returns non-null and the returned ClassSymbol contains only the overrides and additional members specified by the user.

See Also:
Constant Field Values

UNINITIALIZED_ARRAY

public static final int UNINITIALIZED_ARRAY
This is an uninitialized array creator. "new classname[ expr ]". The first operand has category CATEGORY_ARGUMENTS. getClassType().getArrayDimension() returns the total array dimension, counting all the BRACKET_DEREFERENCE expressions as well as the additional "[]"s.

See Also:
Constant Field Values

INITIALIZED_ARRAY

public static final int INITIALIZED_ARRAY
This is an initialized array creator. "new classname[ expr ] { arrayconstant }". The first operand has category CATEGORY_ARRAY_CONSTANT. getClassType().getArrayDimension() returns the array dimension.

See Also:
Constant Field Values
Method Detail

getCreatorType

public int getCreatorType()
Gets which kind of creator this is. See the enumerated constants below.

Returns:
the kind of creator this is.

getClassDefinition

public ClassSymbol getClassDefinition()
Returns the class definition of an anonymous class. getName() returns the name of the base class and getMembers() returns the overrides and additional members.

Returns:
the class defnition of the anonymous class. Null if this is not an anonymous class creator.

getClassType

public TypeSymbol getClassType()
Gets the type of the class instance just created.

Returns:
the type of the instance created.

getName

public NameSymbol getName()
Description copied from interface: Nameable
Gets the name symbol.

Specified by:
getName in interface Nameable
Overrides:
getName in class ExpressionSymbol
Returns:
The NameSymbol associated with this object. Null if none.

setName

public void setName(NameSymbol name)
Description copied from interface: Nameable
Sets the name symbol.

Specified by:
setName in interface Nameable
Overrides:
setName in class ExpressionSymbol

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1.1.0)

E13403-02

Copyright © 1997, 2009, Oracle. All rights reserved.