Correctly avoid calculation of autogenerated parameter name in ClsParameterImpl.calcName()

This commit is contained in:
Pavel V. Talanov
2016-01-21 15:57:51 +03:00
parent 36d5798a2e
commit 06215ca932
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.load.java.structure.impl;
import com.intellij.psi.PsiAnnotationOwner;
import com.intellij.psi.PsiParameter;
import com.intellij.psi.impl.compiled.ClsParameterImpl;
import com.intellij.psi.impl.java.stubs.impl.PsiParameterStubImpl;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.descriptors.Visibilities;
@@ -85,7 +86,7 @@ public class JavaValueParameterImpl extends JavaElementImpl<PsiParameter>
@Nullable
public Name getName() {
PsiParameter psi = getPsi();
if (psi instanceof ClsParameterImpl && ((ClsParameterImpl) psi).isAutoGeneratedName()) {
if (isParameterWithAutoGeneratedName(psi)) {
return null;
}
@@ -93,6 +94,11 @@ public class JavaValueParameterImpl extends JavaElementImpl<PsiParameter>
return name == null ? null : Name.identifier(name);
}
private static boolean isParameterWithAutoGeneratedName(PsiParameter psi) {
// see com.intellij.psi.impl.compiled.ClsParameterImpl.calcName()
return psi instanceof ClsParameterImpl && ((PsiParameterStubImpl) ((ClsParameterImpl) psi).getStub()).isAutoGeneratedName();
}
@Override
@NotNull
public JavaType getType() {