Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse JDT
Release 3.5

org.eclipse.jdt.core.dom
Class InfixExpression

java.lang.Object
  extended by 

org.eclipse.jdt.core.dom.ASTNode
      extended by 

org.eclipse.jdt.core.dom.Expression
          extended by 
org.eclipse.jdt.core.dom.InfixExpression

public class InfixExpression
extends Expression

Infix expression AST node type.

 InfixExpression:
    Expression InfixOperator Expression { InfixOperator Expression }
 

Since:
2.0
Restriction:
This class is not intended to be instantiated by clients.

Nested Class Summary
static class InfixExpression.Operator
          Infix operators (typesafe enumeration).
 
Field Summary
static  ChildListPropertyDescriptor EXTENDED_OPERANDS_PROPERTY
          The "extendedOperands" structural property of this node type.
static  ChildPropertyDescriptor LEFT_OPERAND_PROPERTY
          The "leftOperand" structural property of this node type.
static  SimplePropertyDescriptor OPERATOR_PROPERTY
          The "operator" structural property of this node type.
static  ChildPropertyDescriptor RIGHT_OPERAND_PROPERTY
          The "rightOperand" structural property of this node type.
 
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 extendedOperands ()
          Returns the live list of extended operands.
  Expression getLeftOperand ()
          Returns the left operand of this infix expression.
  InfixExpression.Operator getOperator ()
          Returns the operator of this infix expression.
  Expression getRightOperand ()
          Returns the right operand of this infix expression.
 boolean hasExtendedOperands ()
          Returns where there are any extended operands.
static  List propertyDescriptors (int apiLevel)
          Returns a list of structural property descriptors for this node type.
 void setLeftOperand ( Expression expression)
          Sets the left operand of this infix expression.
 void setOperator ( InfixExpression.Operator operator)
          Sets the operator of this infix expression.
 void setRightOperand ( Expression expression)
          Sets the right operand of this infix expression.
 
Methods inherited from class org.eclipse.jdt.core.dom. Expression
resolveBoxing, resolveConstantExpressionValue, resolveTypeBinding, resolveUnboxing
 
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
 
Methods inherited from class java.lang. Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

LEFT_OPERAND_PROPERTY

public static final 
ChildPropertyDescriptor LEFT_OPERAND_PROPERTY
The "leftOperand" structural property of this node type.

Since:
3.0

OPERATOR_PROPERTY

public static final 
SimplePropertyDescriptor OPERATOR_PROPERTY
The "operator" structural property of this node type.

Since:
3.0

RIGHT_OPERAND_PROPERTY

public static final 
ChildPropertyDescriptor RIGHT_OPERAND_PROPERTY
The "rightOperand" structural property of this node type.

Since:
3.0

EXTENDED_OPERANDS_PROPERTY

public static final 
ChildListPropertyDescriptor EXTENDED_OPERANDS_PROPERTY
The "extendedOperands" structural property of this node type.

Since:
3.0
Method Detail

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

getOperator

public 
InfixExpression.Operator getOperator()
Returns the operator of this infix expression.

Returns:
the infix operator

setOperator

public void setOperator(
InfixExpression.Operator operator)
Sets the operator of this infix expression.

Parameters:
operator - the infix operator
Throws:
IllegalArgumentException - if the argument is incorrect

getLeftOperand

public 
Expression getLeftOperand()
Returns the left operand of this infix expression.

Returns:
the left operand node

setLeftOperand

public void setLeftOperand(
Expression expression)
Sets the left operand of this infix expression.

Parameters:
expression - the left operand node
Throws:
IllegalArgumentException - if:
  • the node belongs to a different AST
  • the node already has a parent
  • a cycle in would be created

getRightOperand

public 
Expression getRightOperand()
Returns the right operand of this infix expression.

Returns:
the right operand node

setRightOperand

public void setRightOperand(
Expression expression)
Sets the right operand of this infix expression.

Parameters:
expression - the right operand node
Throws:
IllegalArgumentException - if:
  • the node belongs to a different AST
  • the node already has a parent
  • a cycle in would be created

hasExtendedOperands

public boolean hasExtendedOperands()
Returns where there are any extended operands.

Returns:
true if there are one or more extended operands, and false if there are no extended operands

extendedOperands

public 
List extendedOperands()
Returns the live list of extended operands.

The extended operands is the preferred way of representing deeply nested expressions of the form L op R op R2 op R3... where the same operator appears between all the operands (the most common case being lengthy string concatenation expressions). Using the extended operands keeps the trees from getting too deep; this decreases the risk is running out of thread stack space at runtime when traversing such trees. ((a + b) + c) + d would be translated to: leftOperand: a rightOperand: b extendedOperands: {c, d} operator: +

Returns:
the live list of extended operands (element type: Expression)

Eclipse JDT
Release 3.5

Copyright (c) IBM Corp. and others 2000, 2008. All Rights Reserved.

 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire