1 cananian 1.1.2.2 // ClassDataOutputStream.java, created Mon Jan 18 22:44:36 1999 by cananian 2 cananian 1.1.2.1 // Copyright (C) 1998 C. Scott Ananian <cananian@alumni.princeton.edu> 3 cananian 1.1.2.1 // Licensed under the terms of the GNU GPL; see COPYING for details. 4 cananian 1.1.2.1 package harpoon.IR.RawClass; 5 cananian 1.1.2.1 6 cananian 1.1.2.1 /** 7 cananian 1.1.2.1 * A specialized output stream writer for java bytecode files. 8 cananian 1.1.2.1 * 9 cananian 1.1.2.1 * @author C. Scott Ananian <cananian@alumni.princeton.edu> 10 cananian 1.2 * @version $Id: ClassDataOutputStream.java,v 1.2 2002/02/25 21:05:26 cananian Exp $ 11 cananian 1.1.2.1 * @see ClassDataInputStream 12 cananian 1.1.2.1 */ 13 cananian 1.1.2.1 public class ClassDataOutputStream extends java.io.DataOutputStream { 14 cananian 1.1.2.1 15 cananian 1.1.2.1 /** Constructs a <code>ClassDataOutputStream</code> from a standard 16 cananian 1.1.2.1 * <code>OutputStream</code>. */ 17 cananian 1.1.2.1 public ClassDataOutputStream(java.io.OutputStream out) { 18 cananian 1.1.2.1 super(out); 19 cananian 1.1.2.1 } 20 cananian 1.1.2.1 21 cananian 1.1.2.1 /** Write an unsigned one-byte quantity, high byte first. */ 22 cananian 1.1.2.1 public final void write_u1(int v) throws java.io.IOException 23 cananian 1.1.2.1 { writeByte(v); } 24 cananian 1.1.2.1 /** Write an unsigned two-byte quantity, high byte first. */ 25 cananian 1.1.2.1 public final void write_u2(int v) throws java.io.IOException 26 cananian 1.1.2.1 { writeShort(v); } 27 cananian 1.1.2.1 /** Write an unsigned four-byte quantity, high byte first. */ 28 cananian 1.1.2.1 public final void write_u4(long v) throws java.io.IOException 29 cananian 1.1.2.1 { writeShort((int)((v>>16)&0xFFFF)); writeShort((int)(v&0xFFFF)); } 30 cananian 1.2 }