Source code: javax/ide/model/java/source/tree/DereferenceExpressionT.java
1 /*
2 * @(#)DereferenceExpressionT.java
3 */
4
5 package javax.ide.model.java.source.tree;
6
7 /**
8 * Common supertype for expressions performing dereference operations.
9 * The three dereference expressions are: array access, method call,
10 * and dot dereference. <p/>
11 *
12 * @author Andy Yu
13 * */
14 public interface DereferenceExpressionT
15 extends OperatorExpressionT
16 {
17 // ----------------------------------------------------------------------
18
19 /**
20 * @return The lhs operand of this dereference. Null if none.
21 *
22 * If this is a dot dereference... well, you can figure that one out.
23 *
24 * If this is an array access, the lhs operand will be the array variable.
25 *
26 * If this is a method call, the lhs operand is optional.
27 *
28 * If this is a class creator, the lhs operand is optional. If there
29 * is a lhs operand, it means that this is a qualified class creator and
30 * the lhs operand is the outer class instance being used.
31 */
32 public ExpressionT getLhsOperand();
33
34 /**
35 * Attempts to set the lhs operand for this expression.
36 *
37 * @param e If null, then this will remove the lhs operand (legal
38 * only for method calls).
39 *
40 * @throws UnsupportedOperationException if this operation is illegal.
41 */
42 public void setLhsOperand( ExpressionT e );
43 }