Lines 702-724
Link Here
|
702 |
IType currentType = this.types[this.typeDepth]; |
702 |
IType currentType = this.types[this.typeDepth]; |
703 |
int currenTypeModifiers = this.typeModifiers[this.typeDepth]; |
703 |
int currenTypeModifiers = this.typeModifiers[this.typeDepth]; |
704 |
char[][] parameterTypes = methodInfo.parameterTypes; |
704 |
char[][] parameterTypes = methodInfo.parameterTypes; |
705 |
if (parameterTypes != null && methodInfo.isConstructor && currentType.getDeclaringType() != null && !Flags.isStatic(currenTypeModifiers)) { |
705 |
if (methodInfo.isConstructor && currentType.getDeclaringType() != null && !Flags.isStatic(currenTypeModifiers)) { |
706 |
IType declaringType = currentType.getDeclaringType(); |
706 |
IType declaringType = currentType.getDeclaringType(); |
707 |
String declaringTypeName = declaringType.getElementName(); |
707 |
String declaringTypeName = declaringType.getElementName(); |
708 |
if (declaringTypeName.length() == 0) { |
708 |
if (declaringTypeName.length() == 0) { |
709 |
IClassFile classFile = declaringType.getClassFile(); |
709 |
IClassFile classFile = declaringType.getClassFile(); |
710 |
int length = parameterTypes.length; |
710 |
int length = parameterTypes != null ? parameterTypes.length : 0; |
711 |
char[][] newParameterTypes = new char[length+1][]; |
711 |
char[][] newParameterTypes = new char[length+1][]; |
712 |
declaringTypeName = classFile.getElementName(); |
712 |
declaringTypeName = classFile.getElementName(); |
713 |
declaringTypeName = declaringTypeName.substring(0, declaringTypeName.indexOf('.')); |
713 |
declaringTypeName = declaringTypeName.substring(0, declaringTypeName.indexOf('.')); |
714 |
newParameterTypes[0] = declaringTypeName.toCharArray(); |
714 |
newParameterTypes[0] = declaringTypeName.toCharArray(); |
715 |
System.arraycopy(parameterTypes, 0, newParameterTypes, 1, length); |
715 |
if (length != 0) { |
|
|
716 |
System.arraycopy(parameterTypes, 0, newParameterTypes, 1, length); |
717 |
} |
716 |
this.methodParameterTypes[this.typeDepth] = newParameterTypes; |
718 |
this.methodParameterTypes[this.typeDepth] = newParameterTypes; |
717 |
} else { |
719 |
} else { |
718 |
int length = parameterTypes.length; |
720 |
int length = parameterTypes != null ? parameterTypes.length : 0; |
719 |
char[][] newParameterTypes = new char[length+1][]; |
721 |
char[][] newParameterTypes = new char[length+1][]; |
720 |
newParameterTypes[0] = declaringTypeName.toCharArray(); |
722 |
newParameterTypes[0] = declaringTypeName.toCharArray(); |
721 |
System.arraycopy(parameterTypes, 0, newParameterTypes, 1, length); |
723 |
if (length != 0) { |
|
|
724 |
System.arraycopy(parameterTypes, 0, newParameterTypes, 1, length); |
725 |
} |
722 |
this.methodParameterTypes[this.typeDepth] = newParameterTypes; |
726 |
this.methodParameterTypes[this.typeDepth] = newParameterTypes; |
723 |
} |
727 |
} |
724 |
} else { |
728 |
} else { |