Mercurial Hosting > nabble
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/nabble/naml/compiler/Chunk.java Thu Mar 21 19:15:52 2019 -0600 @@ -0,0 +1,31 @@ +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; + } + }; +}