InterimClassGenericDecl decl;
if (ccSignature != null) {
decl = (InterimClassGenericDecl) Parser.parseSignature(ccSignature, Parser.SignatureKind.CLASS_SIGNATURE, (java.lang.reflect.GenericDeclaration)startPoint);
if ((decl.typeParameters != null && currentBitArgs != null && decl.typeParameters.length != currentBitArgs.length) || (decl.typeParameters == null && currentBitArgs != null) || (decl.typeParameters != null && currentBitArgs == null)) {
throw new MalformedParameterizedTypeException();
}
} else {
if (currentBitArgs != null && currentBitArgs.length > 0) {
throw new MalformedParameterizedTypeException();
}
}
while (currentBit.ownerType != null) {
InterimType pt = currentBit.ownerType;
if (pt instanceof InterimParameterizedType) {
currentBit = (InterimParameterizedType)currentBit.ownerType;
} else {
break;
}
currentBitArgs = currentBit.parameters;
currentClass = currentBit.rawType;
klazz = null;
try{
//klazz = ClassLoader.findClass(currentClass.classTypeName);
klazz = AuxiliaryLoader.findClass(AuxiliaryFinder.transform(currentClass.classTypeName.substring(1).replace('/', '.')), startPoint);
} catch (Throwable e) {
}
ccSignature = AuxiliaryUtil.toUTF8(VMGenericsAndAnnotations.getSignature(klazz));
if (ccSignature != null) {
decl = (InterimClassGenericDecl) Parser.parseSignature(ccSignature, Parser.SignatureKind.CLASS_SIGNATURE, (java.lang.reflect.GenericDeclaration)startPoint);
if ((decl.typeParameters != null && currentBitArgs != null && decl.typeParameters.length != currentBitArgs.length) || (decl.typeParameters == null && currentBitArgs != null) || (decl.typeParameters != null && currentBitArgs == null)) {
throw new MalformedParameterizedTypeException();
}
} else {
if (currentBitArgs != null && currentBitArgs.length > 0) {
throw new MalformedParameterizedTypeException();
}
}
}
}