001 /* Copyright 2000, 2001, Compaq Computer Corporation */ 002 003 package javafe.tc; 004 005 import javafe.ast.*; 006 import java.io.OutputStream; 007 008 public class TypePrint extends DelegatingPrettyPrint 009 { 010 // Caller must establish del != null! 011 //@ requires false; 012 public TypePrint() { } 013 014 //@ requires self != null && del != null; 015 public TypePrint(PrettyPrint self, PrettyPrint del) { 016 super(self, del); 017 } 018 019 //@ also 020 //@ requires o != null; 021 public void print(OutputStream o, int ind, VarInit e) { 022 if (e instanceof Expr) { 023 Type t = FlowInsensitiveChecks.getTypeOrNull((Expr)e); 024 025 write(o, "(/*"); 026 if (t==null) 027 write(o, "UNAVAILABLE"); 028 else 029 write(o, Types.printName(t)); 030 write(o, "*/ "); 031 032 del.print(o, ind, e); 033 write(o, ')'); 034 } else del.print(o, ind, e); 035 } 036 } // end of class TypePrint 037 038 /* 039 * Local Variables: 040 * Mode: Java 041 * fill-column: 85 042 * End: 043 */ 044