|
1 |
| package edu.rice.cs.javalanglevels.tree; |
|
2 |
| |
|
3 |
| import edu.rice.cs.javalanglevels.SourceInfo; |
|
4 |
| |
|
5 |
| |
|
6 |
| |
|
7 |
| |
|
8 |
| |
|
9 |
| |
|
10 |
| public abstract class JExpression extends Object implements JExpressionIF { |
|
11 |
| private final SourceInfo _sourceInfo; |
|
12 |
| private int _hashCode; |
|
13 |
| private boolean _hasHashCode = false; |
|
14 |
| |
|
15 |
| |
|
16 |
| |
|
17 |
| |
|
18 |
| |
|
19 |
2029873
| public JExpression(SourceInfo in_sourceInfo) {
|
|
20 |
2029873
| super();
|
|
21 |
| |
|
22 |
2029873
| if (in_sourceInfo == null) {
|
|
23 |
0
| throw new java.lang.IllegalArgumentException("Parameter 'sourceInfo' to the JExpression constructor was null. This class may not have null field values.");
|
|
24 |
| } |
|
25 |
2029873
| _sourceInfo = in_sourceInfo;
|
|
26 |
| } |
|
27 |
| |
|
28 |
9493
| public SourceInfo getSourceInfo() { return _sourceInfo; }
|
|
29 |
| |
|
30 |
| public abstract <RetType> RetType visit(JExpressionIFVisitor<RetType> visitor); |
|
31 |
| public abstract void visit(JExpressionIFVisitor_void visitor); |
|
32 |
| public abstract void outputHelp(TabPrintWriter writer); |
|
33 |
| protected abstract int generateHashCode(); |
|
34 |
285610
| public final int hashCode() {
|
|
35 |
79058
| if (! _hasHashCode) { _hashCode = generateHashCode(); _hasHashCode = true; }
|
|
36 |
285610
| return _hashCode;
|
|
37 |
| } |
|
38 |
| } |