Fix ISE in ReflectJavaMember.getValueParameters on Java 6

The exception was incorrectly introduced in 0f0602230a. We should not
fail when `names` is null, only when there's no element at the
corresponding index. On Java 6, `names` is always null. On Java 8,
`names` is never null (it's an empty list if the class was compiled
without "-parameters")
This commit is contained in:
Alexander Udalov
2018-07-19 17:33:22 +02:00
parent f8d19718c8
commit e42017a468
@@ -52,7 +52,9 @@ abstract class ReflectJavaMember : ReflectJavaElement(), ReflectJavaAnnotationOw
for (i in parameterTypes.indices) {
val type = ReflectJavaType.create(parameterTypes[i])
val name = names?.getOrNull(i + shift) ?: error("No parameter with index $i+$shift (name=$name type=$type) in $this")
val name = names?.run {
getOrNull(i + shift) ?: error("No parameter with index $i+$shift (name=$name type=$type) in $this@ReflectJavaMember")
}
val isParamVararg = isVararg && i == parameterTypes.lastIndex
result.add(ReflectJavaValueParameter(type, parameterAnnotations[i], name, isParamVararg))
}