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.PsiAnnotationOwner;
import com.intellij.psi.PsiParameter; import com.intellij.psi.PsiParameter;
import com.intellij.psi.impl.compiled.ClsParameterImpl; 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.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.descriptors.Visibilities; import org.jetbrains.kotlin.descriptors.Visibilities;
@@ -85,7 +86,7 @@ public class JavaValueParameterImpl extends JavaElementImpl<PsiParameter>
@Nullable @Nullable
public Name getName() { public Name getName() {
PsiParameter psi = getPsi(); PsiParameter psi = getPsi();
if (psi instanceof ClsParameterImpl && ((ClsParameterImpl) psi).isAutoGeneratedName()) { if (isParameterWithAutoGeneratedName(psi)) {
return null; return null;
} }
@@ -93,6 +94,11 @@ public class JavaValueParameterImpl extends JavaElementImpl<PsiParameter>
return name == null ? null : Name.identifier(name); 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 @Override
@NotNull @NotNull
public JavaType getType() { public JavaType getType() {