view src/nabble/naml/compiler/Chunk.java @ 0:7ecd1a4ef557

add content
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 21 Mar 2019 19:15:52 -0600
parents
children
line wrap: on
line source

package nabble.naml.compiler;

import fschmidt.util.java.Interner;


interface Chunk {
	public void run(IPrintWriter out,RunState runState);
	public boolean hasOutput();
	public Chunk intern();

	static final Interner<Chunk> interner = new Interner<Chunk>();

	static final Chunk NULL = new Chunk() {
	
		public void run(IPrintWriter out,RunState runState) {
			out.print((String)null);
		}
	
		public boolean hasOutput() {
			return true;
		}
	
		public String toString() {
			return "nullChunk";
		}

		@Override public Chunk intern() {
			return this;
		}
	};
}