summaryrefslogtreecommitdiff
path: root/src/main/java/io/devnulllabs/openjava/ptree/Expression.java
blob: aa90b6b047e7a57b8305b7b09282524622893c03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/*
 * Expression.java 1.0
 *
 *
 * Jun 20, 1997
 * Sep 29, 1997
 *
 * @see io.devnulllabs.openjava.ptree.ParseTree
 * @version 1.0 last updated:  Sep 29, 1997
 * @author  Teruo -bv- Koyanagi
 */
package io.devnulllabs.openjava.ptree;


import io.devnulllabs.openjava.mop.Environment;
import io.devnulllabs.openjava.mop.OJClass;



/**
 * The Expression interface presents common interface
 * to access Expression node of parse tree
 *
 * this interface is implements by
 * <pre>
 *   UnaryExpression
 *   BinaryExpression
 *   ConditionalExpression
 *   AssignmentExpression
 *   CastExpression
 *   AllocationExpression
 *   ArrayAllocationExpression
 *   Variable
 *   MethodCall
 *   SpecialName
 *   Literal
 *   ClassLiteral
 *   ArrayAccess
 *   FieldAccess
 * </pre>
 *
 * @see io.devnulllabs.openjava.ptree.ParseTree
 * @see io.devnulllabs.openjava.ptree.NonLeaf
 * @see io.devnulllabs.openjava.ptree.VariableInitializer
 */
public interface Expression extends ParseTree, VariableInitializer
{
    public OJClass getType( Environment env )
    throws Exception;
}