slcom/slangc/api/BytecodeOutput.sauce

30 lines
556 B
Plaintext

package slangc.api;
public abstract class BytecodeOutput {
protected int count = 0;
public abstract void endOfFile();
public abstract void processByte(byte b);
public final void write8(byte b) {
processByte(b);
count++;
}
public int getCount() {
return count;
}
public void write16(short w) {
write8((byte)w);
write8((byte)(w >> 8));
}
public void write32(int w) {
write16((short)w);
write16((short)(w >> 16));
}
public void write64(long w) {
write32((int)w);
write32((int)(w >> 32));
}
}