Package gnu.expr

Class LitTable

  • All Implemented Interfaces:
    java.io.DataOutput, java.io.ObjectOutput, java.lang.AutoCloseable, java.util.Map<java.lang.Object,​java.lang.Object>

    public class LitTable
    extends GeneralHashTable<java.lang.Object,​java.lang.Object>
    implements java.io.ObjectOutput
    Manages the literals of a Compilation. Implements ObjectOutput, because we use externalization to determine how literals get compiled into code that re-creates the literal.
    • Constructor Detail

    • Method Detail

      • hash

        public int hash​(java.lang.Object key)
        Description copied from class: AbstractHashTable
        Calculate hash code of a key.
        Overrides:
        hash in class AbstractHashTable<HashNode<java.lang.Object,​java.lang.Object>,​java.lang.Object,​java.lang.Object>
      • matches

        protected boolean matches​(java.lang.Object key1,
                                  java.lang.Object key2)
        Description copied from class: AbstractHashTable
        Compare two keys for equivalence. Override this and the AbstractHashTable.hash(Object) method if you want a different equivalence relation.
        Overrides:
        matches in class AbstractHashTable<HashNode<java.lang.Object,​java.lang.Object>,​java.lang.Object,​java.lang.Object>
      • emit

        public void emit()
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • flush

        public void flush()
        Specified by:
        flush in interface java.io.ObjectOutput
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.ObjectOutput
      • write

        public void write​(int b)
                   throws java.io.IOException
        Specified by:
        write in interface java.io.DataOutput
        Specified by:
        write in interface java.io.ObjectOutput
        Throws:
        java.io.IOException
      • writeBytes

        public void writeBytes​(java.lang.String s)
                        throws java.io.IOException
        Specified by:
        writeBytes in interface java.io.DataOutput
        Throws:
        java.io.IOException
      • write

        public void write​(byte[] b)
                   throws java.io.IOException
        Specified by:
        write in interface java.io.DataOutput
        Specified by:
        write in interface java.io.ObjectOutput
        Throws:
        java.io.IOException
      • write

        public void write​(byte[] b,
                          int off,
                          int len)
                   throws java.io.IOException
        Specified by:
        write in interface java.io.DataOutput
        Specified by:
        write in interface java.io.ObjectOutput
        Throws:
        java.io.IOException
      • writeBoolean

        public void writeBoolean​(boolean v)
        Specified by:
        writeBoolean in interface java.io.DataOutput
      • writeChar

        public void writeChar​(int v)
        Specified by:
        writeChar in interface java.io.DataOutput
      • writeByte

        public void writeByte​(int v)
        Specified by:
        writeByte in interface java.io.DataOutput
      • writeShort

        public void writeShort​(int v)
        Specified by:
        writeShort in interface java.io.DataOutput
      • writeInt

        public void writeInt​(int v)
        Specified by:
        writeInt in interface java.io.DataOutput
      • writeLong

        public void writeLong​(long v)
        Specified by:
        writeLong in interface java.io.DataOutput
      • writeFloat

        public void writeFloat​(float v)
        Specified by:
        writeFloat in interface java.io.DataOutput
      • writeDouble

        public void writeDouble​(double v)
        Specified by:
        writeDouble in interface java.io.DataOutput
      • writeUTF

        public void writeUTF​(java.lang.String v)
        Specified by:
        writeUTF in interface java.io.DataOutput
      • writeChars

        public void writeChars​(java.lang.String v)
        Specified by:
        writeChars in interface java.io.DataOutput
      • writeObject

        public void writeObject​(java.lang.Object obj)
                         throws java.io.IOException
        Specified by:
        writeObject in interface java.io.ObjectOutput
        Throws:
        java.io.IOException
      • findLiteral

        public Literal findLiteral​(java.lang.Object value)