java.lang.Object
kala.compress.harmony.unpack200.IcTuple
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
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
FieldsModifier and TypeFieldDescriptionprivate booleanprotected Stringprotected Stringprivate final intprivate intprivate intprivate Stringprivate Stringprivate intprivate final int(package private) static final IcTuple[]private static final String[]protected intprivate booleanprivate booleanprivate booleanprotected Stringstatic final intprivate final intprivate booleanprivate booleanprivate booleanprivate final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanbooleanprivate voidgetC()getC2()intgetF()getN()intinthashCode()private voidString[]innerBreakAtDollar(String className) Break the receiver into components at $ boundaries.private booleanisAllDigits(String nameString) booleanbooleanisMember()booleanAnswer true if the receiver's bit 16 is set (indicating that explicit outer class and name fields are set).booleannullSafeEquals(String stringOne, String stringTwo) intAnswer the outer class name for the receiver.booleanbooleanAnswer true if the receiver is predicted; answer false if the receiver is specified explicitly in the outer and name fields.Answer the inner class name for the receiver.intintAnswer the full name of the inner class represented by this tuple (including its outer component)toString()
-
Field Details
-
EMPTY_STRING_ARRAY
-
NESTED_CLASS_FLAG
public static final int NESTED_CLASS_FLAG- See Also:
-
EMPTY_ARRAY
-
cIndex
private final int cIndex -
c2Index
private final int c2Index -
nIndex
private final int nIndex -
tIndex
private final int tIndex -
C
-
F
protected int F -
C2
-
N
-
predictSimple
private boolean predictSimple -
predictOuter
private boolean predictOuter -
cachedOuterClassString
-
cachedSimpleClassName
-
initialized
private boolean initialized -
anonymous
private boolean anonymous -
outerIsAnonymous
private boolean outerIsAnonymous -
member
private boolean member -
cachedOuterClassIndex
private int cachedOuterClassIndex -
cachedSimpleClassNameIndex
private int cachedSimpleClassNameIndex -
hashCodeComputed
private boolean hashCodeComputed -
cachedHashCode
private int cachedHashCode
-
-
Constructor Details
-
IcTuple
public IcTuple(String C, int F, String C2, String N, int cIndex, int c2Index, int nIndex, int tIndex) - Parameters:
C- TODOF- TODOC2- TODON- TODOcIndex- the index of C in cpClassc2Index- the index of C2 in cpClass, or -1 if C2 is nullnIndex- the index of N in cpUTF8, or -1 if N is nulltIndex- TODO
-
-
Method Details
-
computeOuterIsAnonymous
private boolean computeOuterIsAnonymous() -
equals
-
generateHashCode
private void generateHashCode() -
getC
-
getC2
-
getF
public int getF() -
getN
-
getTupleIndex
public int getTupleIndex() -
hashCode
public int hashCode() -
initializeClassStrings
private void initializeClassStrings() -
innerBreakAtDollar
Break the receiver into components at $ boundaries.- Parameters:
className- TODO- Returns:
- TODO
-
isAllDigits
-
isAnonymous
public boolean isAnonymous() -
isMember
public boolean isMember() -
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
-
nullSafeEquals
-
outerClassIndex
public int outerClassIndex() -
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
-
outerIsAnonymous
public boolean outerIsAnonymous() -
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.
-
simpleClassName
Answer the inner class name for the receiver.- Returns:
- String name of inner class
-
simpleClassNameIndex
public int simpleClassNameIndex() -
thisClassIndex
public int thisClassIndex() -
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
-