Class Entry

    • Constructor Summary

      Constructors 
      Constructor Description
      Entry()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      (package private) void afterModify​(java.lang.Object key)
      Subclasses must call this method when their state is mutated.
      (package private) java.lang.Object beforeModify()
      Subclasses must call this method before their state is mutated.
      static Entry create​(int type)
      Create an entry based on its type code.
      int getIndex()
      Returns the index of the entry in the owning constant pool, or 0.
      ConstantPool getPool()
      Returns the constant pool containing this entry, or null if none.
      abstract int getType()
      Return the type code for this entry type.
      boolean isWide()
      Return true if this is a wide entry -- i.e.
      static Entry read​(java.io.DataInput in)
      Read a single entry from the given bytecode stream and returns it.
      (package private) abstract void readData​(java.io.DataInput in)
      This method is called after reading the entry type from bytecode.
      (package private) void setIndex​(int index)
      Set the index of this entry within the pool.
      (package private) void setPool​(ConstantPool pool)
      Sets the owning pool of the entry.
      static void write​(Entry entry, java.io.DataOutput out)
      Write the given entry to the given bytecode stream.
      (package private) abstract void writeData​(java.io.DataOutput out)
      This method is called after writing the entry type to bytecode.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Entry

        public Entry()
    • Method Detail

      • read

        public static Entry read​(java.io.DataInput in)
                          throws java.io.IOException
        Read a single entry from the given bytecode stream and returns it.
        Throws:
        java.io.IOException
      • write

        public static void write​(Entry entry,
                                 java.io.DataOutput out)
                          throws java.io.IOException
        Write the given entry to the given bytecode stream.
        Throws:
        java.io.IOException
      • create

        public static Entry create​(int type)
        Create an entry based on its type code.
      • getType

        public abstract int getType()
        Return the type code for this entry type.
      • isWide

        public boolean isWide()
        Return true if this is a wide entry -- i.e. if it takes up two places in the constant pool. Returns false by default.
      • getPool

        public ConstantPool getPool()
        Returns the constant pool containing this entry, or null if none.
      • getIndex

        public int getIndex()
        Returns the index of the entry in the owning constant pool, or 0.
      • readData

        abstract void readData​(java.io.DataInput in)
                        throws java.io.IOException
        This method is called after reading the entry type from bytecode. It should read all the data for this entry from the given stream.
        Throws:
        java.io.IOException
      • writeData

        abstract void writeData​(java.io.DataOutput out)
                         throws java.io.IOException
        This method is called after writing the entry type to bytecode. It should write all data for this entry to the given stream.
        Throws:
        java.io.IOException
      • beforeModify

        java.lang.Object beforeModify()
        Subclasses must call this method before their state is mutated.
      • afterModify

        void afterModify​(java.lang.Object key)
        Subclasses must call this method when their state is mutated.
      • setPool

        void setPool​(ConstantPool pool)
        Sets the owning pool of the entry.
      • setIndex

        void setIndex​(int index)
        Set the index of this entry within the pool.