From 84649e4b26e1238c9c63a0a7316b34295887024a Mon Sep 17 00:00:00 2001 From: Michael Bogdanov Date: Mon, 31 Aug 2015 12:42:58 +0300 Subject: [PATCH] Wrong abi test fix --- compiler/testData/cli/jvm/wrongAbiVersion.out | 2 +- .../bin/ClassWithWrongAbiVersion.class | Bin 795 -> 781 bytes .../bin/META-INF/main.kotlin_module | 1 + .../wrong/ClassWithInnerLambda$other$1.class | Bin 951 -> 1008 bytes .../bin/wrong/ClassWithInnerLambda.class | Bin 1780 -> 1820 bytes .../bin/wrong/TraitWithDefault$$TImpl.class | Bin 605 -> 484 bytes .../bin/wrong/TraitWithDefault.class | Bin 693 -> 714 bytes .../WrongPackage$wrong-package$0984b5e5.class | Bin 396 -> 0 bytes .../bin/wrong/WrongPackage.class | Bin 733 -> 669 bytes .../bin/wrong/Wrong_packageKt.class | Bin 0 -> 398 bytes .../DeserializedDescriptorResolver.java | 10 +++++++--- 11 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 compiler/testData/cli/jvm/wrongAbiVersionLib/bin/META-INF/main.kotlin_module delete mode 100644 compiler/testData/cli/jvm/wrongAbiVersionLib/bin/wrong/WrongPackage$wrong-package$0984b5e5.class create mode 100644 compiler/testData/cli/jvm/wrongAbiVersionLib/bin/wrong/Wrong_packageKt.class diff --git a/compiler/testData/cli/jvm/wrongAbiVersion.out b/compiler/testData/cli/jvm/wrongAbiVersion.out index 4ed8ddb01f7..b187d7cf1fb 100644 --- a/compiler/testData/cli/jvm/wrongAbiVersion.out +++ b/compiler/testData/cli/jvm/wrongAbiVersion.out @@ -1,5 +1,5 @@ compiler/testData/cli/jvm/wrongAbiVersionLib/bin/ClassWithWrongAbiVersion.class: error: class 'ClassWithWrongAbiVersion' was compiled with an incompatible version of Kotlin. Its ABI version is -1, expected ABI version is $ABI_VERSION$ -compiler/testData/cli/jvm/wrongAbiVersionLib/bin/wrong/WrongPackage.class: error: class 'wrong/WrongPackage' was compiled with an incompatible version of Kotlin. Its ABI version is -1, expected ABI version is $ABI_VERSION$ +compiler/testData/cli/jvm/wrongAbiVersionLib/bin/wrong/Wrong_packageKt.class: error: class 'wrong/Wrong_packageKt' was compiled with an incompatible version of Kotlin. Its ABI version is -1, expected ABI version is $ABI_VERSION$ compiler/testData/cli/jvm/wrongAbiVersion.kt:4:3: error: unresolved reference: bar bar() ^ diff --git a/compiler/testData/cli/jvm/wrongAbiVersionLib/bin/ClassWithWrongAbiVersion.class b/compiler/testData/cli/jvm/wrongAbiVersionLib/bin/ClassWithWrongAbiVersion.class index 8e0d4bc08c8d2f307d24e258a8b221babf75ac2e..ff9873566e4154e33fed7b57020756753697599a 100644 GIT binary patch delta 357 zcmYLEK}!N*5PkEx`>ESnZfT~8xvK=)LF&+@C^mzz^^#tKh*)%kMOi`j(5+w4VcBE< zA?Orz=m+!{`X?QtQG+h;&Ad0m%zKtkQv3XQ{{V1+TBIFDkJY_GcQgsde$bkF_hWAm zww(6Zoz0F2^4Jgj@I*%%QiB35`npYx{9s7f?M8OqTI?;R>kiAjqPDwszfVwxZs-yo z;#2B1idQD7Vqa~XTW3^;hF*ffUeqaoyL&I`CbLaMd|yr@%;z(fv0pzcL~0@YH@ptRTTR3A^Exp);wrong/Wrong_packageKt diff --git a/compiler/testData/cli/jvm/wrongAbiVersionLib/bin/wrong/ClassWithInnerLambda$other$1.class b/compiler/testData/cli/jvm/wrongAbiVersionLib/bin/wrong/ClassWithInnerLambda$other$1.class index 896ff63760d50fe7e094a0503e628645a04543e7..39f58523039affee3216cd010ca0aa547b3ead7a 100644 GIT binary patch delta 558 zcmZvY%}yFo7>3{P@H4|ONTn!(h?Z*QM;UeF!p6jym=K98TjR=rOyejF35;EI_ZBi0Vya0DzfQjBgufX`tf#}AwIN#5C-uFA_^p*cg?C$yc7QhOY33<;D8FxNL z+wS97wpMR9n)S8XNylkfwsHKkZTvX34;`yx_uO`tGVW7yaR4a@5_0c>#@0}>q#*1a zQz5NF(;yHfM2CWJw&f^@dA}*A#_=J75sZ5Gw3;OZ3)SLx9b*{R5JHNeem&&NSkAip zaN$+N)b0!+)Nzi?u8ur3AC>mAI^sx1c+eL@YO_`E_4X|1sA}70cW~#*iNpSzou)~M z*DTxIIc+!0?ry!&@(#p=cP`2?UGh?G_Pi@mJWKnw{9i$AKt%+EB3CmUiKANj2mK0( zKb#XvyoY5!fKjG3&V9NpPno#nM95N?7~!Kde-nn8;1>;r3H%Zg43`3ZO!#u1iS#Rw zVmp6DZy@&jnEQ+Q0TjXlw*>-Nl(B#c#~?o8GYroB2?J>wOI#M+Kt%dS zT)=>WM-QI-6u&^Mju{dAQ1z<%)vMS2snxa6``7a;fH}+%hGd&a%5~CjvwkYcE9$&h zJ$3e7yXq7wC*{Spo$Quly9-MTUg>dW{}TuU&55J4O4fEvHMCqKm4MMBN;C;E^>7!eT0xQcNm&U)qv9S`WfV+=%@5p6OixmFCi z=O8f7(fny3*$|xIPN2~VFkB03}5;y1TvId-mmSpTGY8{SN?Gg)b1M-uj+fPvx4d-G1o= zr+L@qeu1?rHKqb0jGeIymTEGx*{_`OYM_FQFqEw}9oGrA5ah)~89|RXynwd4I0%!4 zo|y9aNs|tx_PUA;LMY(v0AYLa(&Fr*l{)FT)xh!GcIric^*EEb%K%}%;Q95`84oHx zbLcR0T`yogprRKPJIy9}L^cFE!fZbx;m>gc?z^m+%DaJ2C!K0rg%Jw7ddjPfZyHv=OEYA1*P4H+OfQiWi)6AK}4= zf#O}0cv^*z5wv`Yza+0usz2gtOge zpu+|2!z^2&*_{?zidA<$vg-Vl^DMhOltg;rJfe5rUE{*rgJk ztFeF~?$lxj=FZCN%^W$6m z-PD^6uYPuD;SNTJEkqfIF{a_FEr&G4HZX)?)zGkls?ZxaFO%M|EmXo$%}Qfc4lBkC zj!QC{a(>m?MlHmK56ZHP>8SQZ$OoAq9^kumWivR2b6eAw8kiyN!WX8blSL zoLA!r;{~tEnq}rYtkUF1Vn7%zI4&=CS{3g1ceIjIcUjQ!Nz3jcne5W#bNiOaEVFed z>11!%BiujixPjB+dH2F;I~0`to`k6TZfXbIa?LDK@;ZK%zi>oOdY6K`<={jgW*?&b zA9zSp=|V*0IA)4U(keuw0%1T{Cn-j=__T599jyKWPk-u)hUi~16((7NkZ2xS8XtZK z6H7nRT7u7L{HV7N_XtLOM545Zut96#AWR6)Xf44eWcqtinzQt)#JV5^111O2Y?7&n zM^F9?Gk?M-zk>Br1k`h<_jG-C!iiuQ;VMeG5%&#n=1CGbO7b^|3jplK+XGPg05Uu$ njRb43MRSB~Oqzkl&uN?@`60-#kcUUG$RPnqSb784hEM+mf0egc literal 1780 zcmah~>r>lC5Z{$7jEs25j*~hev;v1x;)Ix3p zfD5M~!f>fYnohWeAkXC*2wJuW7HJ^N)%w^zKWvk|D>fpjYUf4ULWqStAjH{$%0}01 zg^uSwuyW@pZ%7C;HP1gXPk7k$nd1f~b6qcFLLo5gURdw81?pUlBuu~ShE9i@;dd{% z;~skEV;(kGyUU+2pLIB0SvcU*Cjzoz&=IDt3rf`ueX`}Wf;gloF0EtUIvrqCgT7sa z`(*b@sI3c>T>*1sN2)c{>A!J1Bk`vE0T{)Zk4$N>u(VtOyVompS_dNnj>v%?Fi6>szL zL3)02iC6Nums{Vicw705Ufq8rw;9Tkt}rypk|G-!TM~T5t_r@Q zle{EjMy^g9WmIFuIw^iBSJa$NYCG{!BWF}l!Q%5W(PLJ@K$PXNQL?jRE3s5hZaa=@ zOXv^X%jjjB?5XOqAyr~2#a=YNKsEmK`L->~2NKiub-|a_W%5f-DTIemcvovtrAB@H zgtboD5s!l@5*NjK!}mIyQRoq@i*?$|#Gu*!uVpn@grx*LfR8jtz=%rOFH+Jf-T`${ zvgWl|yTN>iHQRhoEC}N@$K~~Ir^)?3Mcs9dTo!hH;;#R<^Gk*E!g)$V##*~(5|pk; z&^X)ab$iu4a{`A9+ixZVwMd`a=4dr2sJ72(?9lds{u!jJSV z!3wQ6dvwUa?MRE}7u+GhPw7M^>5ai^ByB;dPaC8CA-x(6JQ$~UA|S0bqQnJ7uyvRm z__sW_!sE#vwZ*n diff --git a/compiler/testData/cli/jvm/wrongAbiVersionLib/bin/wrong/TraitWithDefault$$TImpl.class b/compiler/testData/cli/jvm/wrongAbiVersionLib/bin/wrong/TraitWithDefault$$TImpl.class index 8e4640ad252ee3b4a9d160973787c34b352b7a10..3ddf539b800bcdaaccdbc3c75cdbdb92d53cfe7b 100644 GIT binary patch delta 150 zcmcc1@`Rb|)W2Q(7#J9g7(^#>Sx<~sVPjP($;d38cxaJ`a7a;NW=VKvNrp>mT4HHV ziC%WeU{xu}$SekOL5dj}80{zKFPf~* zsHdzH1TiHnvp6#;2cgw5FE76&u_QA;uXu7WqeTH513Lo~g9y+;It)PlK$?kV4TxkA z1(G}v5e6;>ULa2lh}pm*EDYj6wjf9Y2T&ih-;!exKdSq#QE`znJ~@3 zRTyh?cR+-l|CooTN8685FOEcLU(7T8Nu;AnFh{W`Qmx4&PzEZ)KE9D zfz1+hEOIDlW~cSMtvEN5z{Xoy5psJ^3!9vJMUxS@ST6GKg_8h%kurFmNz%axyS6NKQ6nvJC}tfF5T8 z3bHYS6ot<;wbfW{?XLSSte_FGP;nK4ilk_0OI*q%9qQy~B9lqQ$8zh!2k@cP z+u+8Xv$(_g&YZ(=Kfm5T0Gy%EFnZC2S~(A!8SpseD>1Cm@$;`by_lRwV=-=nG4v9? z=1#^bavvokHf>l$|0GUQ!(c^R(>xr73`f(nFqu?Nvd$f;jL?c_j$gC+t1?f*$k@wx zSza>OJd&Z%r7V>7O^2bGO0{Hg{@pV4DL_@7!1a9h=ISwUXAA1_ilt!aPNfoeRUQew z;88}zo)?vl#kJgs!K_k7<|34(B-d4{Fx=2@N*thpCM^!2XJ~;of_+khnh|}gtuD9^DOWQ5fhG-6pkj3mdxv9qj!8fU{`U diff --git a/compiler/testData/cli/jvm/wrongAbiVersionLib/bin/wrong/WrongPackage.class b/compiler/testData/cli/jvm/wrongAbiVersionLib/bin/wrong/WrongPackage.class index 816be83a03e4fe707d5165475473f340fc7dee11..af5f5018642a6b6337efdd17c62003d641baf676 100644 GIT binary patch literal 669 zcmZ`%O>fgc5Pjo>CUw#_O(?}s%149L9>5aUph_qb5=vB1i^72e8aqq0iM>Yly8JH0 zrQ*O3;70+oi4lzuBkj)4o1L9`Py6HNx9+hc)kN-|KOt>fp*MJL~Ycm_1{C9{pwy^D^ zjh!|cXl}y8E}_*=vuT;AGftIA^6!H}H{zVIcTKGipH^~>M4DS|>|w*lK5i3^{&Zhs zx5h)n@Hx^Gl@~&{_Df9UnX+Z+L}KVHJ3Xm-JY87A)-W@LWn(9tlrm?1m`%m)jI~i` zWg4mcEk}tU{zX>iv3jXp5S*9B>Qqg1p(Xpmn9Q=3t_605eO*3+*9n{$fcPG6g7Cnh z@MSe|0~>-o6l7mwXRWT+^{>$Ritd*s5IFYLrGq5`)UOb@Ea8#tF6+)7j>LPokG}Yx RAa^9X`w9oR_a0Q>@HeNurGfwe literal 733 zcma)4U2oE06n+jAI#^*8L@aK8AQ!6(t5avh>5_%Sg^A2egBM2uEWo{y*R_a9%s0l1G_gyJmly`l9sK3|FcSPZ2KA{0jA zL|Cri+@U>^{YXWUqjPrS_>8zYjtEOn`>x|T(JmpmZuSWI`q+;+w5Ue7+c^tZf&Acd zC2Mptu^cawfhSz+#e&zK9J@P&jel|5i%S=SX1V|PqS3SU&hM#Pt_Z^&^Z$Em(2&bw z8F>v$$YhW}fp@Y+KrsJSseVa{`n~4khxWGIR#DPWgqp<_lnHmv`(NJqPl0&ptgxM) z3_{2El0Vr9%0NVd;5N%Sz4CG`o!WTP**{Dw?)#%brMsH0TL+(pUe&bsH?>)#TKXt= zqgg|1p5v`h)as4ygGYv`Q;X87PE;h7mK(Q;T`g74P;t*xIIh|@Im6Q@}D0{!zG8nI#vN=%DQImOjDOIYJGJ- zbp+jIG2vlzgmB<2A{7W}&sU)>q~ft;f!)izt_XOSdCcdR2nKV-h{uVDr2b0>A?Gv2 z5XSpe)2iL=7V<|I&h+cjQ_U-#jPEKDto6ogya_)%MeFO7a$!s9*p@~)2 zMxu_{v`E*rtL-z?(9kW!fTiuT#g6}1I$0=svlICoq3j6B`^(Vf@gs8sa*T&)8GAgf zj8Gpgr4k_@i9}G^mNHUIQS$^W&>%-Y2SC>#4+UbAR6X;^{m7zC!ZZTVX`oE3!3I=_ Sx5zD$TDyUDFrEMtDE$Gtomm9{ literal 0 HcmV?d00001 diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/DeserializedDescriptorResolver.java b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/DeserializedDescriptorResolver.java index 1996cf0437e..839d08452f7 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/DeserializedDescriptorResolver.java +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/DeserializedDescriptorResolver.java @@ -70,7 +70,7 @@ public final class DeserializedDescriptorResolver { @Nullable public JetScope createKotlinPackageScope(@NotNull PackageFragmentDescriptor descriptor, @NotNull KotlinJvmBinaryClass kotlinClass) { //TODO add assertion from readData(kotlinClass, CLASS); - String[] data = kotlinClass.getClassHeader().getAnnotationData(); + String[] data = readData(kotlinClass, KotlinClassHeader.Kind.FILE_FACADE); if (data != null) { //all classes are included in java scope PackageData packageData = JvmProtoBufUtil.readPackageDataFrom(data); @@ -92,8 +92,12 @@ public final class DeserializedDescriptorResolver { List list = new ArrayList(); for (KotlinJvmBinaryClass callable : packageParts) { JetScope scope = createKotlinPackageScope(descriptor, callable); - assert scope != null : "Can't create scope for " + callable; - list.add(scope); + if (scope != null) { + list.add(scope); + } + } + if (list.isEmpty()) { + return JetScope.Empty.INSTANCE$; } return new DeserializedNewPackageMemberScope(descriptor, list); }