Class IcTuple


  • public class IcTuple
    extends java.lang.Object
    An IcTuple is the set of information that describes an inner class. C is the fully qualified class name
    F is the flags
    C2 is the outer class name, or null if it can be inferred from C
    N is the inner class name, or null if it can be inferred from C
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.String C  
      protected java.lang.String C2  
      protected int F  
      protected java.lang.String N  
      static int NESTED_CLASS_FLAG  
    • Constructor Summary

      Constructors 
      Constructor Description
      IcTuple​(java.lang.String C, int F, java.lang.String C2, java.lang.String N, int cIndex, int c2Index, int nIndex, int tIndex)  
    • Constructor Detail

      • IcTuple

        public IcTuple​(java.lang.String C,
                       int F,
                       java.lang.String C2,
                       java.lang.String N,
                       int cIndex,
                       int c2Index,
                       int nIndex,
                       int tIndex)
        Parameters:
        C - TODO
        F - TODO
        C2 - TODO
        N - TODO
        cIndex - the index of C in cpClass
        c2Index - the index of C2 in cpClass, or -1 if C2 is null
        nIndex - the index of N in cpUTF8, or -1 if N is null
        tIndex - TODO
    • Method Detail

      • predicted

        public boolean predicted()
        Answer true if the receiver is predicted; answer false if the receiver is specified explicitly in the outer and name fields.
        Returns:
        true if the receiver is predicted; answer false if the receiver is specified explicitly in the outer and name fields.
      • nestedExplicitFlagSet

        public boolean nestedExplicitFlagSet()
        Answer true if the receiver's bit 16 is set (indicating that explicit outer class and name fields are set).
        Returns:
        boolean
      • innerBreakAtDollar

        public java.lang.String[] innerBreakAtDollar​(java.lang.String className)
        Break the receiver into components at $ boundaries.
        Parameters:
        className - TODO
        Returns:
        TODO
      • outerClassString

        public java.lang.String outerClassString()
        Answer the outer class name for the receiver. This may either be specified or inferred from inner class name.
        Returns:
        String name of outer class
      • simpleClassName

        public java.lang.String simpleClassName()
        Answer the inner class name for the receiver.
        Returns:
        String name of inner class
      • thisClassString

        public java.lang.String thisClassString()
        Answer the full name of the inner class represented by this tuple (including its outer component)
        Returns:
        String full name of inner class
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • nullSafeEquals

        public boolean nullSafeEquals​(java.lang.String stringOne,
                                      java.lang.String stringTwo)
      • equals

        public boolean equals​(java.lang.Object object)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • getC

        public java.lang.String getC()
      • getF

        public int getF()
      • getC2

        public java.lang.String getC2()
      • getN

        public java.lang.String getN()