From 76081b5b78f539edbc58e13f2006c26cf2df12c9 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 8 Sep 2015 13:12:49 +0300 Subject: [PATCH] captured wildcards in cls: equals -> equivalent (IDEA-144856) --- .../intellij/psi/PsiCapturedWildcardType.java | 6 ++++-- .../libs/CaptureContext-sources.jar | Bin 0 -> 415 bytes .../clsHighlighting/libs/CaptureContext.jar | Bin 0 -> 1713 bytes .../ClsGenerics18HighlightingTest.java | 20 ++++++++++++++++++ .../ClsGenericsHighlightingTest.java | 9 +++++--- 5 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 java/java-tests/testData/codeInsight/clsHighlighting/libs/CaptureContext-sources.jar create mode 100644 java/java-tests/testData/codeInsight/clsHighlighting/libs/CaptureContext.jar diff --git a/java/java-psi-api/src/com/intellij/psi/PsiCapturedWildcardType.java b/java/java-psi-api/src/com/intellij/psi/PsiCapturedWildcardType.java index 5ab4cf678da7..ba88fcba0696 100644 --- a/java/java-psi-api/src/com/intellij/psi/PsiCapturedWildcardType.java +++ b/java/java-psi-api/src/com/intellij/psi/PsiCapturedWildcardType.java @@ -64,7 +64,8 @@ public class PsiCapturedWildcardType extends PsiType.Stub { } final PsiCapturedWildcardType captured = (PsiCapturedWildcardType)o; - if (!myContext.equals(captured.myContext)) { + final PsiManager manager = myContext.getManager(); + if (!manager.areElementsEquivalent(myContext, captured.myContext)) { return false; } @@ -72,7 +73,8 @@ public class PsiCapturedWildcardType extends PsiType.Stub { return false; } - if ((myContext instanceof PsiReferenceExpression || myContext instanceof PsiMethodCallExpression) && !Comparing.equal(myParameter, captured.myParameter)) { + if ((myContext instanceof PsiReferenceExpression || myContext instanceof PsiMethodCallExpression) && + !manager.areElementsEquivalent(myParameter, captured.myParameter)) { return false; } diff --git a/java/java-tests/testData/codeInsight/clsHighlighting/libs/CaptureContext-sources.jar b/java/java-tests/testData/codeInsight/clsHighlighting/libs/CaptureContext-sources.jar new file mode 100644 index 0000000000000000000000000000000000000000..f4c861ecfe45eafac0271a0e01b4e7bb216b5c6d GIT binary patch literal 415 zcmWIWW@h1HVBlb2P)gHqXFvi>3@i+Z`u|QbFa!YAh%j()a4;N7MODKMRG+9HkeFGd zmz7wS*xT>Tb;v-(^?Bq`SuGFqgv?y_K9-}hHpx+oGo?Ohc9gtd7NxnOqtT&a=lst+ zAGxnGZAtMlTeej${gno1+^Qv9v#M{tO0l(DbfTqslFZaAOAd%yw#$0X7UP~Gnb*U3 zZgT&m=g-|j_C1KPxb7C%7O}`hc}sc4(q-!#Y@!!PI0>B3y3LvWG%#U}j>EAPuir%4 zRtDVMHnU&v0GIrlHa;(1`Ni{izt7Fqe|?!H>>tDF_Or*{?rWMlKY{;zeS+<7<^XSY zj?J>KllKFC)xrq!HzN}l1Mbj43M_CqK*EZVNrV9rTFB;sLJI*@fJ~&Y3-D%T14%Lg NVJ?uC0Xl$z0RU_Xb?5*9 literal 0 HcmV?d00001 diff --git a/java/java-tests/testData/codeInsight/clsHighlighting/libs/CaptureContext.jar b/java/java-tests/testData/codeInsight/clsHighlighting/libs/CaptureContext.jar new file mode 100644 index 0000000000000000000000000000000000000000..b9c545ae08e5916261f534eeaf9e93ba6f5d1346 GIT binary patch literal 1713 zcmWIWW@h1HVBlb2xRR>j&VU4%7+4q*_5Yn>U&YI`qvT%BNndS8U^y_!hnSTJi4M*E{E@{rsn6nz$*1?VJJk-w?Nj#Y>vw3R!C7 ze(Rh{ikI;$HJ)~fe~LS=+Nv+#)uOW^j&aRRI=9#G%JSt2H~yTLxUoz;h_UkWVa?0# zy&9V}iZ~?`mlkt>v!0$CC0=yt2zONWWTr!^hpHMg1&mBJy>{N!OjSK3^xO1l>eINh zovZeSZ0Rz+^qO_;NB`_e-?aMUugAXHyzclvpPp6QtmOYKC~5vwvitesXye7vyF4Rj z=O-8+*VPfa6_OnAP3Y?W0B?4V;!XNIyBQf6a+&d^04YQY2+B;)z)S-9w;V*~unH%$ zGjVEqPTuk}Bb0ICBX9qsPE1!kCI&>Qay;E-!Dd#J^Q7PF&*~?aylg{kzq^N4n$2Ft zHl?}z-nl(<&7f_@krTs;FY|qqTgj?OJ^yGOH~TBaBy6`o|nd3#zad*gFs5xtn}-*)ry zGtGXI)h`{t^TYk+w`Oge@M(_k{Mzr~^9+8^P3!J^`lIC48413uO=~0H-~E_>r(lP* z**>24IoeCiQlC_R=lS_ut&KNw7Vpa?vE3U_A3m{s=G3UDwUeiq5>Sz99PyKT7wCN7t^un#&Qrp0r6 zwO-%CJrd3DezeM1EDE2*JoED7lb75lXDkoAs+Q8S^BDhz<1W`SW4%u(UCY!xBhBI6 z@>FEA=ZQxvPNYMM`155*j zc+&t6JPklHe(r?xeuo?cj_q%C@@75Q^yB?2N81}SDmM8FE6kc1zh?Jl>-hWf^BK++CM@dM)+Z~w+v=M{*7qVCPiseo zNh)DHS6^!gtrGvFBG}nitF*5oMrcZ`rchauV32RdQ7%tj^p)@9?>sP7aqAhbJ3R9 zWqN-!>mQb#SiG^;dRCW0>8}3<@AZ=met+~~edLw4R4a1sWuH)2R<*x{akJz$)=gPx zdR}(j*R?wjoIZO0ZF#iw40p5&ETnxC&XQbj9 z90!onnvqF_0a0Ef=VMTLjQ}b@CeG3uWHque$VmZ|=@CGU32qFQA^_bSWbc6z4gzSg Yz|4UpqX2JKHjpd}5dH() { @Override public void consume(ModifiableRootModel model) { @@ -95,7 +97,8 @@ public abstract class ClsGenericsHighlightingTest extends UsefulTestCase { assertNotNull(libJarLocal); VirtualFile jarRoot = JarFileSystem.getInstance().getJarRootForLocalFile(libJarLocal); assertNotNull(jarRoot); - libraryModel.addRoot(jarRoot, OrderRootType.CLASSES); + libraryModel.addRoot(jarRoot, jarRoot.getName().contains("-sources") ? OrderRootType.SOURCES + : OrderRootType.CLASSES); } libraryModel.commit(); }