1 package gnu.expr; 2 import gnu.mapping.*; 3 import gnu.text.SourceMessages; 4 5 9 10 public class ErrorExp extends Expression 11 { 12 String message; 13 public ErrorExp (String message) 14 { 15 this.message = message; 16 } 17 18 public ErrorExp (String message, SourceMessages messages) 19 { 20 messages.error('e', message); 21 this.message = message; 22 } 23 24 public ErrorExp (String 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 throw new Error (comp.getFileName()+":"+comp.getLineNumber() 44 +": internal error: compiling error expression: "+message); 45 } 46 } 47 | Popular Tags |