KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > gnu > expr > ErrorExp


1 package gnu.expr;
2 import gnu.mapping.*;
3 import gnu.text.SourceMessages;
4
5 /**
6  * Class used to mark an erroneous expression
7  * @author Per Bothner
8  */

9
10 public class ErrorExp extends Expression
11 {
12   String JavaDoc message;
13   public ErrorExp (String JavaDoc message)
14   {
15     this.message = message;
16   }
17
18   public ErrorExp (String JavaDoc message, SourceMessages messages)
19   {
20     messages.error('e', message);
21     this.message = message;
22   }
23
24   public ErrorExp (String JavaDoc message, Compilation comp)
25   {
26     comp.getMessages().error('e', message);
27     this.message = message;
28   }
29
30   protected boolean mustCompile () { return false; }
31
32   public void print (OutPort out)
33   {
34     out.startLogicalBlock("(Error", false, ")");
35     out.writeSpaceLinear();
36     out.print(message);
37     out.endLogicalBlock(")");
38   }
39
40   public void compile (Compilation comp, Target target)
41   {
42     // Should never happen!
43
throw new Error JavaDoc(comp.getFileName()+":"+comp.getLineNumber()
44                     +": internal error: compiling error expression: "+message);
45   }
46 }
47
Popular Tags