Commit Graph

90526 Commits

Author SHA1 Message Date
Dario Seidl 8d8bf6473b Fix typo in description of Float.ulp
Replace `Float.NIN_VALUE` with `Float.MIN_VALUE`.
2022-01-13 17:21:47 +03:00
Yahor Berdnikau 68f4580492 Fix kaptGenerateStubs doesn't ignore empty Android source directories
^KT-48617 Fixed
2022-01-13 13:11:20 +00:00
Dmitry Petrov d184babda6 JVM_IR fix cast to non-null primitive type (FIR bootstrap issue) 2022-01-13 12:47:00 +00:00
Pavel Kunyavskiy 2ba0a7b40f [K/N] Implement Platform.availableProcessors
^KT-48179
2022-01-13 12:43:03 +00:00
Denis.Zharkov 964cf937c3 Fix IllegalStateException in case of recursive T & Any upper bound
^KT-50542 Fixed
2022-01-13 12:54:47 +03:00
Pavel Kunyavskiy afc548d5d9 [K/N] Fix equality on fun-interface constructor references
^KT-50204
2022-01-13 09:45:58 +00:00
Yahor Berdnikau a378e1e128 Bump Kotlin stable release to version 1.5.32
^KT-45745 In Progress
2022-01-13 10:30:54 +01:00
Yahor Berdnikau 0f3d7d5ad8 Fix typo in parameter name
^KT-45745 In Progress
2022-01-13 10:30:53 +01:00
Yahor Berdnikau 1c1e8f3c85 Migrate SubpluginsIT to new test DSL
^KT-45745 In Progress
2022-01-13 10:30:50 +01:00
Nikita Bobko 47ed6dcfb4 CompilerArgumentsSerializerV5.serializeTo: fix NPE
NPE was happening on `?.takeIf { it.get(arguments) != it.get(newInstance) }` line.
It was happening because `it.get` could return `null`.

But the problem was only reproducible on TeamCity and not reproducible locally.

Test example (IJ repo): `org.jetbrains.kotlin.idea.fir.completion.HighLevelJvmBasicCompletionTestGenerated$Common$FromSmart.testArrayLiteralAnnotationConstructorAsDefaultValueForArray`
stacktrace:
```
java.lang.NullPointerException
  at org.jetbrains.kotlin.arguments.CompilerArgumentsSerializerV5.serializeTo(CompilerArgumentsSerializer.kt:23)
  at org.jetbrains.kotlin.config.FacetSerializationKt.writeLatestConfig(facetSerialization.kt:379)
  at org.jetbrains.kotlin.config.FacetSerializationKt.serializeFacetSettings(facetSerialization.kt:422)
  at org.jetbrains.kotlin.idea.facet.KotlinFacetConfigurationImpl.writeExternal(KotlinFacetConfigurationImpl.kt:24)
```
2022-01-13 10:11:44 +01:00
Pavel Punegov a4123a6be9 [K/N][test] Ignore test that fails due to ^KT-50763 2022-01-13 08:31:10 +00:00
Pavel Punegov 49b6545268 [K/N][test] Ignore test that extends final ArrayList (in K/N) 2022-01-13 08:31:09 +00:00
Denis.Zharkov 751e618d83 Enable ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated since 1.8
^KT-36770 Relates
2022-01-13 08:47:20 +03:00
Denis.Zharkov d3b686b28f Minor. Remove effectively unused feature 2022-01-13 08:47:20 +03:00
Denis.Zharkov d87eddaf8b Improve warnings related to type parameter bounds nullability
Explicitly supply the type parameter that needs to be non-nullified

^KT-36770 Relates
2022-01-13 08:47:20 +03:00
Denis.Zharkov 1827165716 Support rendering messages text in diagnostic tests 2022-01-13 08:47:19 +03:00
Pavel Kunyavskiy 541f6b0c88 [K/N] Fix handling of legacy suspend-function superclass
^KT-50737
2022-01-12 19:42:37 +00:00
Dmitriy Novozhilov b2b5f4a63a [FE 1.0] Don't report deprecation diagnostics about enum on it's own entries
^KT-37975 Fixed
2022-01-12 19:11:28 +03:00
Nikita Bobko 6b327d2380 Unmute JPS tests which pass 2022-01-12 15:25:23 +01:00
Aleksei.Cherepanov b3f6b78fbe [CHERRY PICKED FROM IJ] Fix debug of incremental JPS tests in intellij repo
Create extension of "load classes by parent classloader" logic to bypass clash of the same classes with different versions, loaded by different classloaders in case of running in-process compilation in debug configuration.

#KT-49786 Fixed

GitOrigin-RevId: 173749ef1a36fdb1df44e98f3d373941e00f29ad
Original commit: https://github.com/JetBrains/intellij-community/commit/16e76333d4163c3772fa6e6ef3c1c7667a4c12f9
2022-01-12 15:25:23 +01:00
Aleksei.Cherepanov ea9422fedd [CHERRY PICKED FROM IJ] Update Kotlin caches version due to adding LookupSymbolKeyDescriptor versioning
Since versioning of LookupSymbolKeyDescriptor was added in 1.5.30: f6b428f2 "KT-34862 use abi snapshot instead of build history files", it is necessary to update version of caches for JPS, as new caches are not compatible with previous.

#KT-48399 Fixed

GitOrigin-RevId: 59b1071c1a1090f78c51824d45e6c000f4ef2f3f
Original commit: https://github.com/JetBrains/intellij-community/commit/658f4aeb603bb224a14a92933ebe519948db7745
2022-01-12 15:25:22 +01:00
Stanislav Erokhin 68e5479c95 [CHERRY PICKED FROM IJ] [kotlin:testdata] Update the asm version in AsmVersionForJpsBuildTest
GitOrigin-RevId: 5a2468edca8d1f08c11ce8419178e0e6ce91bd95
Original commit: https://github.com/JetBrains/intellij-community/commit/0a144e464e026bc1f1aa698f28f3b24f6381a890
2022-01-12 15:25:22 +01:00
Aleksei.Cherepanov 7181244129 [CHERRY PICKED FROM IJ] Fix test IncrementalJvmJpsTestGenerated$WithJava$Other.testMultifileClassFileAdded
Fix test data and also remove useless marking of multifiles in KotlinBuilder after 2ee7f2b "incremental annotation processing environment" as it makes the same thing and all results are ignored

GitOrigin-RevId: 379eb3f350539cb1ee27098eecb28931df73b626
Original commit: https://github.com/JetBrains/intellij-community/commit/ee2865c35c2dadc3651518b2760b5176835b251c
2022-01-12 15:25:22 +01:00
Aleksei.Cherepanov dc9abef6e5 [CHERRY PICKED FROM IJ] [testdata] Fix Jps tests testdata
Fix test IncrementalJvmJpsTestGenerated$PureKotlin.testPackageFileAdded
Fix test IncrementalJvmJpsTestGenerated$Custom.testCommonSourcesCompilerArg
Fix test IncrementalJvmJpsTestGenerated$WithJava$JavaUsedInKotlin$SamConversions.testMethodAddDefault

GitOrigin-RevId: 63b7a47898ca42b4d7f11a01ceb0e019933f528b
Original commit: https://github.com/JetBrains/intellij-community/commit/e91bfb29e65b9eb5452c4d5f544f0bbfa3eafde3
2022-01-12 15:25:21 +01:00
Mikhail Zarechenskiy 0f0fa4736a [CHERRY PICKED FROM IJ] [kotlin] configuration: allow API version 1.3 with 1.6.x compiler
Starting from 1.6.0 the compiler supports three previous API versions, i.e., 1.3, 1.4, 1.5. Note that it's only about API versions, two previous language versions are supported as previously. See KT-49006 for details.

 ^KTIJ-19978 Fixed

GitOrigin-RevId: e1ba99ac25135959d8b81287850798a222643c88
Original commit: https://github.com/JetBrains/intellij-community/commit/d256c4653ab5aa730e522d282aed49a83f0c99f8
2022-01-12 15:25:21 +01:00
Aleksei.Cherepanov a4bf7c9772 [CHERRY PICKED FROM IJ] Fix JPS compilation
GitOrigin-RevId: a799879de2add4ca719307ddf9a143605468e731
Original commit: https://github.com/JetBrains/intellij-community/commit/9746206871853f44205b31dd8757ed2a4ad586ca
2022-01-12 15:25:21 +01:00
Aleksei.Cherepanov 2ea089f0d2 [CHERRY PICKED FROM IJ] Fix incremental build after changing Java const used as class property
Report Java static final constant with InlineConstantTracker, used as class property in Kotlin for further registration in JPS. Add tests.

#KT-49177 Fixed

GitOrigin-RevId: 01a58cf10f5419d70f0d80cbaa9bcd9732ff0547
Original commit: https://github.com/JetBrains/intellij-community/commit/d077f3b3217c8d88518fec7249228cb29df2e0ff
2022-01-12 15:25:20 +01:00
Stanislav Erokhin 3b6cdb071f [CHERRY PICKED FROM IJ] [testdata] Fix testdata for IncrementalJvmJpsTestGenerated.WithJava.JavaUsedInKotlin#testConstantChanged
Previously, because the package in java file was used, generated test runner file was incorrect

GitOrigin-RevId: 3fcf599a26a0789154c550e6ac4aafe0829ce0d1
Original commit: https://github.com/JetBrains/intellij-community/commit/cbe50ad2423fbdb6e18541ecb040bdb0c67af7fd
2022-01-12 15:25:20 +01:00
Aleksei.Cherepanov 6c7a6bf3b1 [CHERRY PICKED FROM IJ] Simplify API for InlineConstTracker and add testdata
GitOrigin-RevId: b2bcde9e3102d575ca459f475c00022515b6ccba
Original commit: https://github.com/JetBrains/intellij-community/commit/f78e98d1ba5b6c142076b67f88c54282c3964c7f
2022-01-12 15:25:20 +01:00
Aleksei.Cherepanov 40dc548fec [CHERRY PICKED FROM IJ] [JPS] Fix incremental build after changing Java constant
InlineConstantTracker implemented for tracking changed java static final constants, that used in kotlin.

#KT-46506 Fixed

GitOrigin-RevId: 63830580acb09d31fe0deede9f82bc1a2847443d
Original commit: https://github.com/JetBrains/intellij-community/commit/3736c00c2c8757241e6fd217faef733421eb9e80
2022-01-12 15:25:19 +01:00
Nikita Bobko f445cfcb78 Update gradle/verification-metadata.xml after Kotlin JPS plugin merge 2022-01-12 15:25:19 +01:00
Nikita Bobko fddb205e16 KotlinJpsBuildTest#testJre9: migrate to JDK 11
Possibility to use JDK 9 was dropped in the Kotlin repo in
this commit de7fb9606a so I had to migrate this test.

Consulted with @udalov. He said that it's fine to migrate this test to JDK 11
2022-01-12 15:25:18 +01:00
Nikita Bobko 6ae534c46b org.jetbrains.kotlin.jvm.compiler.ClasspathOrderTest: drop Ignore
This ignore isn't necessary anymore because this test is returned back
to the compiler repo, so it can use compiler test data
2022-01-12 15:25:18 +01:00
Nikita Bobko a8d7f91252 Temporarily ignore some tests from CompilerArgumentsContentProspectorTest
KT-50594
2022-01-12 15:25:18 +01:00
Nikita Bobko a695d1dec4 Drop passing tests from mute-common.csv 2022-01-12 15:25:17 +01:00
Nikita Bobko fc9000d460 Adopt Kotlin JPS plugin modules Gradle model to kotlin/master
Recenlty, Kotlin repository started using Gradle 7.1.
Deprecated `compile`/`testCompile` Gradle API were dropped in that release
2022-01-12 15:25:17 +01:00
Nikita Bobko 3b1e4f63a0 Fix KotlinJpsBuildTestIncremental#testLanguageVersionChanged & KotlinJpsBuildTestIncremental#testApiVersionChanged
This commit fixes: "Kotlin:ERROR:Language version 1.3 is no longer supported; please, use version 1.4 or greater."
2022-01-12 15:25:16 +01:00
Nikita Bobko 2e9f8fff8d BaseKotlinJpsBuildTestCase: fix tests
Original fix in IJ repo: https://github.com/JetBrains/intellij-community/commit/40fb0da80ee4687a6478d43709147ea8dc5570c7
Test example: IncrementalJvmJpsTestGenerated.ClassHierarchyAffected#testEnumEntryRemoved
Test failure output example:
```
Initial make failed:
MakeResult(log=Compiling files:
  src/Enum.kt
  src/getRandomEnumEntry.kt
  src/use.kt
  src/useEnumImplicitly.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
Cannot access 'java.io.Serializable' which is a supertype of 'Enum'. Check your module classpath for missing or conflicting dependencies
Cannot access 'java.io.Serializable' which is a supertype of 'Enum.A'. Check your module classpath for missing or conflicting dependencies
Cannot access 'java.io.Serializable' which is a supertype of 'Enum.B'. Check your module classpath for missing or conflicting dependencies
Cannot access 'java.io.Serializable' which is a supertype of 'Enum.C'. Check your module classpath for missing or conflicting dependencies
Cannot access 'java.io.Serializable' which is a supertype of 'kotlin.Array'. Check your module classpath for missing or conflicting dependencies
Cannot access 'java.io.Serializable' which is a supertype of 'Enum'. Check your module classpath for missing or conflicting dependencies
, makeFailed=true, mappingsDump=null, name=null)junit.framework.AssertionFailedError: Initial make failed:
MakeResult(log=Compiling files:
  src/Enum.kt
  src/getRandomEnumEntry.kt
  src/use.kt
  src/useEnumImplicitly.kt
End of files
Exit code: ABORT
------------------------------------------
COMPILATION FAILED
Cannot access 'java.io.Serializable' which is a supertype of 'Enum'. Check your module classpath for missing or conflicting dependencies
Cannot access 'java.io.Serializable' which is a supertype of 'Enum.A'. Check your module classpath for missing or conflicting dependencies
Cannot access 'java.io.Serializable' which is a supertype of 'Enum.B'. Check your module classpath for missing or conflicting dependencies
Cannot access 'java.io.Serializable' which is a supertype of 'Enum.C'. Check your module classpath for missing or conflicting dependencies
Cannot access 'java.io.Serializable' which is a supertype of 'kotlin.Array'. Check your module classpath for missing or conflicting dependencies
Cannot access 'java.io.Serializable' which is a supertype of 'Enum'. Check your module classpath for missing or conflicting dependencies
, makeFailed=true, mappingsDump=null, name=null)
	at junit.framework.Assert.fail(Assert.java:57)
	at junit.framework.Assert.assertTrue(Assert.java:22)
	at junit.framework.Assert.assertFalse(Assert.java:39)
	at junit.framework.TestCase.assertFalse(TestCase.java:210)
	at org.jetbrains.kotlin.jps.build.AbstractIncrementalJpsTest.initialMake(AbstractIncrementalJpsTest.kt:240)
	at org.jetbrains.kotlin.jps.build.AbstractIncrementalJpsTest.doTest(AbstractIncrementalJpsTest.kt:333)
	at org.jetbrains.kotlin.test.KotlinTestUtils.lambda$testWithCustomIgnoreDirective$4(KotlinTestUtils.java:522)
	at org.jetbrains.kotlin.test.KotlinTestUtils.runTestImpl(KotlinTestUtils.java:492)
	at org.jetbrains.kotlin.test.KotlinTestUtils.runTest0(KotlinTestUtils.java:473)
	at org.jetbrains.kotlin.test.KotlinTestUtils.runTest(KotlinTestUtils.java:457)
	at org.jetbrains.kotlin.jps.build.IncrementalJvmJpsTestGenerated$ClassHierarchyAffected.runTest(IncrementalJvmJpsTestGenerated.java:2979)
	at org.jetbrains.kotlin.jps.build.IncrementalJvmJpsTestGenerated$ClassHierarchyAffected.testEnumEntryRemoved(IncrementalJvmJpsTestGenerated.java:3063)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:566)
	at junit.framework.TestCase.runTest(TestCase.java:176)
	at com.intellij.testFramework.UsefulTestCase.lambda$runBare$10(UsefulTestCase.java:473)
	at com.intellij.testFramework.UsefulTestCase.lambda$wrapTestRunnable$12(UsefulTestCase.java:493)
	at com.intellij.testFramework.UsefulTestCase.runTestRunnable(UsefulTestCase.java:406)
	at org.jetbrains.kotlin.jps.build.BaseKotlinJpsBuildTestCase.access$runTestRunnable$s-943794013(BaseKotlinJpsBuildTestCase.kt:34)
	at org.jetbrains.kotlin.jps.build.BaseKotlinJpsBuildTestCase$runTestRunnable$1.invoke(BaseKotlinJpsBuildTestCase.kt:73)
	at org.jetbrains.kotlin.jps.build.BaseKotlinJpsBuildTestCase$runTestRunnable$1.invoke(BaseKotlinJpsBuildTestCase.kt:72)
	at org.jetbrains.kotlin.test.MuteWithDatabaseKt.runTest(muteWithDatabase.kt:96)
	at org.jetbrains.kotlin.jps.build.BaseKotlinJpsBuildTestCase.runTestRunnable(BaseKotlinJpsBuildTestCase.kt:72)
	at com.intellij.testFramework.UsefulTestCase.defaultRunBare(UsefulTestCase.java:422)
	at com.intellij.testFramework.UsefulTestCase.lambda$runBare$11(UsefulTestCase.java:481)
	at com.intellij.testFramework.EdtTestUtil.lambda$runInEdtAndWait$1(EdtTestUtil.java:40)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:303)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
	at java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:421)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
```
2022-01-12 15:25:16 +01:00
Nikita Bobko ca716fd226 Regenerate tests 2022-01-12 15:25:16 +01:00
Nikita Bobko 7ed2eb5c40 Drop a couple of tests from MultiplatformJpsTestWithGeneratedContentGenerated
Those tests were dropped in intellij repo (in repo JPS plugin was
located before) in this commit:
https://github.com/JetBrains/intellij-community/commit/6575a8b00a8f1797dd952c7dff5c5db44d8c45d3
2022-01-12 15:25:15 +01:00
Nikita Bobko fb01b46f6a GenerateTests.kt: restore Kotlin JPS plugin tests schema 2022-01-12 15:25:15 +01:00
Nikita Bobko 3daec9b9ce Use Java 11 in :jps:jps-plugin module in order to fix compilation
IntelliJ uses Java 11 so it forces us to use Java 11 in JPS

This commit fixes:
```
public class DataContainerVersionChangedTestGenerated extends AbstractDataContainerVersionChangedTest {
       ^
  bad class file: /home/bobko/.gradle/caches/modules-2/files-2.1/com.jetbrains.intellij.platform/test-framework/203.8084.24/ba5c6b3b0eae0a083dc30e866c362094f5072853/test-framework-203.8084.24.jar(com/intellij/testFramework/UsefulTestCase.class)
    class file has wrong version 55.0, should be 52.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.
```
2022-01-12 15:25:15 +01:00
Nikita Bobko aa5ad13b92 [cleanup] Drop bunch files from Kotlin JPS plugin 2022-01-12 15:25:14 +01:00
Ilya Kirillov 25bcfab396 Fix compilation after removing pre-release flag from compiler (2)
Original commit: https://jetbrains.team/p/ij/repositories/intellij/revision/69aa6a57c1f782a940578c28581e71fcf85cd152
2022-01-12 15:25:14 +01:00
Nikita Bobko 59abe71f56 Drop all usages of Callbacks.ConstantAffectionResolver
This commit fixes deprecation API usage (deprecated in intellij) which is actually
an error (because of -Werror)

KotlinJavaBuilderExtension implements only one method (getConstantSearch) which is
deprecated and the method is actually not called in since 202 IDEA (minimum
supported IDEA right now is 203).

KotlinJavaBuilderExtension originally appeared in 39f7ecc9a3
in order to fix KT-16091. The fact that we ignored the depreaction caused the issue
regression. Luckily, we already fixes the issue again but this API usage is useless so
can be safely droped
2022-01-12 15:25:14 +01:00
Nikita Bobko 01df50e175 Fix warnings in Kotlin JPS plugin (which are errors, actually, because of -Werror) 2022-01-12 15:25:13 +01:00
Nikita Bobko 3b3a7f4566 Add jps-common/test source root 2022-01-12 15:25:13 +01:00
Nikita Bobko 047272e56f Attach JPS plugin modules to the project model 2022-01-12 15:25:12 +01:00
Nikita Bobko 208e271b4e Kotlin JPS plugin: fix paths in tests 2022-01-12 15:25:12 +01:00
Nikita Bobko e3634c1635 Fix org.jetbrains.kotlin.jps.build.KotlinJpsBuildTest#testSourcePackageLongPrefix
The test started failing after cherry-picking it from intellij repo
(in intellij repo it was passing without this commit)
2022-01-12 15:25:12 +01:00