30 lines
556 B
Plaintext
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));
|
|
}
|
|
}
|