From d2056e2d528ddc1c3c7be67c2b513118cfbe8995 Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 24 Jul 2015 12:41:51 +0200 Subject: [PATCH] IDEA-143075 Autocompletion not working when an inner compiled enum is named "v1" --- .../tree/java/PsiReferenceExpressionImpl.java | 6 +++++- .../completion/normal/seemsScrambled.jar | Bin 0 -> 1766 bytes .../completion/HeavyNormalCompletionTest.groovy | 15 ++++++++++++++- 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 java/java-tests/testData/codeInsight/completion/normal/seemsScrambled.jar diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java index adb12f072107..fcae875ef1a7 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiReferenceExpressionImpl.java @@ -32,7 +32,6 @@ import com.intellij.psi.impl.PsiImplUtil; import com.intellij.psi.impl.PsiManagerEx; import com.intellij.psi.impl.source.SourceJavaCodeReference; import com.intellij.psi.impl.source.SourceTreeToPsiMap; -import com.intellij.psi.impl.source.codeStyle.CodeEditUtil; import com.intellij.psi.impl.source.resolve.*; import com.intellij.psi.impl.source.tree.*; import com.intellij.psi.infos.CandidateInfo; @@ -492,6 +491,11 @@ public class PsiReferenceExpressionImpl extends PsiReferenceExpressionBase imple return false; } + PsiClass containingClass = aClass.getContainingClass(); + if (containingClass != null && !seemsScrambled(containingClass)) { + return false; + } + final String name = aClass.getName(); return name != null && !name.isEmpty() && name.length() <= 2; } diff --git a/java/java-tests/testData/codeInsight/completion/normal/seemsScrambled.jar b/java/java-tests/testData/codeInsight/completion/normal/seemsScrambled.jar new file mode 100644 index 0000000000000000000000000000000000000000..bbdd6498712230c776c2b4e455899312dfcbf704 GIT binary patch literal 1766 zcmWIWW@h1HVBp|jC`kO_#sCCNAOZ+jfw&~KxI~|sApovuTJ$%!v%%(-e}Iz7j0_B- zFhx%J`Ps!PAwczd$vKI|#j*Woy_gL}TF=kz>pgaH+hcjXR=q2&&KKt@B{>SP#YXHp z-{Tm3oJH;OzUkTrTlpV2cbYF&Fln4z?7#1cTKs+a`3&bas9!wjkl>v#Tfl!yKF7(m zTX)HYpQ?V#TE=lP$>l|yMD{Fir{^CsPJOsxo8_c$9(Mn1Ja?>rNMPZlXX`?)hFn#< zQlEIoM%rKE3Gen3>*iK}JbdBp90mD1d-T5ca?Z)w?w6LeP-sn(Z^HCy9a*I>%o9RS z*`N8ztsrLngJ(2&~EgX)_=WVX|ba&09)t9%ih4tNc%+FC;v)L=|V89u@#OZ&W zZX8HE{Uz#cG1HPaO4nxm)Uz(!`kxs!xW1i9K2Ze>)SWC03=){ZrBY@H39-_U_x_gy zL~QflUR$fptj*m1fPc;{-bB9kuGuUzj3?<#vWRi|ldvl=ed89->$)HJ3k4WT@y`Fd zxaa%Sw7$UK5BHY8xBY&n_R@s)h11#yl36<1vxjjJq**`d)ssu&&0ZkiJRU9 zuG#R?LVi~y-|27NscjkY+pE}`qwZh-U3Ku%Tfc=5cP_iTaKV(^yesk7rFdSNKYVFu zKR3%Kd*^?LBda#MvmSfBEO*Zv*)2Tf?)i~VCjPnewwz~H*~TipIlgPHbMI!oT6fZu zN$uh_{*3NWpW9!q9s0S=$;(9ZYIXjkKQ4#g+}L%!xKmAbS=)lb^Ol=4W<=@b#C`O- z&85O2p5*<>K4NiYISZ`+ZN4+u2qG}(H!jQ6hbH#7U9_r9!}F=-xi#a&(h1zvRR{cuS-GrBLgr)=-tTjsaq zUdBq!oBsdBsl@A*`!t^Vw%!d|w=-^u__~Hfo6B!ggTmC76Z&W7DNKw1!}PM?z{Euw27WQZ9*-uSH+3~UXYu~~VgEhKjNAXL z(FxtvYu&hy>Fu5(lmC*JR&4n)VM~UC`0>~b$4^?7Kh3{0KUyaxe&q<~lVp{n^HaFp zJqj+rWsU;mDU_q0g7T{++xjXmTUl zN98A>4sM$bjSP$o3>_GRnWbl>q$jXmigA!kQ%FmEz=Bp3ar*gw+XHmtcOd46xfM|e z*#bR(FhIcdeSmJL$-e`9+;?vXN_U1HZo0Am8u$8@W|{K;Q&l&9V6^i(qis0(&KcXC z<}Wm``hHPgU-PqmY$NtE zPUO@N`7K{Or?!->NL|@1d%EXA-e+&Y(^HK)r!`J?iD_l$=4Jb@anRhx!?ldZEKn)A zmoe+l9LYydnO2|GTVZoS;=ZG~T~WpT{n6pBXn }} +''' + myFixture.completeBasic() + myFixture.checkResult '''import test.Books; + +class Foo {{ Books.Test.v1 }} +''' + + } + }