Commit Graph

56393 Commits

Author SHA1 Message Date
Ivan Gavrilovic be3fe9495c Report non-incremental annotation processors correctly
This commit fixes an issue when all APs would be reported as non-incremental,
even if only a single one is non-incremental. Now, additional declared type
is added that is used to denote processors that are incremental, but have
been forced to run non-incrementally in presence of non-incremental APs.

This means that only APs that do not support incremental annotation processing,
or APs that are dynamic and are non-incremental at runtime will be reported.
2019-07-25 04:57:26 +09:00
Ivan Gavrilovic ad352355de KT-23880: Enable incremental APT mode with KAPT by default
The feature has been present since 1.3.30 behind a flag. This
commit enables it by default.
2019-07-25 04:57:26 +09:00
Ivan Gavrilovic a108af76d6 Mark property as output instead of local state when needed
Kapt task incremental annotation processing cache directory
was using @LocalState annotation that was added in Gradle 4.3.
However, minimum supported version is 4.2, so this commit registers
this directory as output of a task for pre 4.3 versions. This is safe
as caching is enabled only for Gradle 4.3+.

Test: verified manually
2019-07-25 04:57:26 +09:00
Ivan Gavrilovic 5a2ff86691 Handle classpath snapshot changes better
Because Kapt Gradle task uses PathSensitivity.NONE for the input representing
the classpath structure, there are cases when paths of the files may change,
but because content is the same, there will be no incremental changes.

Classpath snapshot comparison did not handle this case correctly, but this
commit fixes that. In more details:
- classpath entries with the same path and that are not reported as changed
will have their information loaded from the previous snapshot
- any other entry (changed path or changed content) will be reloaded

Test: ClasspathSnapshotTest
2019-07-25 04:57:26 +09:00
Georgy Bronnikov f66b475867 Create wrapped receiver descriptors where needed 2019-07-24 20:25:47 +03:00
Roman Artemev 46b98a1e98 [JS BE] Make sourceMap generation more precise
- Don't produce mapping for closing bracket in case of expressionBody
 - Map Kt*Function declaration into corresponding js fun declaration
 - Update test data & add new test
2019-07-24 18:56:40 +03:00
Kirill Shmakov 12a1b0296b Clean up useless code 2019-07-24 18:25:11 +03:00
Nikolay Krasko d3bc2ec855 Remove internal jdk to fix flaky MavenUpdateConfigurationQuickFixTest 2019-07-24 17:28:01 +03:00
Nikolay Krasko 6176373713 Test data update for JavaWithGroovyInvoke since 183 2019-07-24 17:28:01 +03:00
Nicolay Mitropolsky 5f9660cd33 KtLightParameter introduced as interface 2019-07-24 10:11:45 +03:00
Nicolay Mitropolsky 50158e508a org.jetbrains.kotlin.asJava.elements.LightParameter converted to Kotlin
to avoid clashes in `getMethod` with `KtLightParameter`
2019-07-24 10:11:44 +03:00
Nicolay Mitropolsky 7dcd3849e0 org.jetbrains.kotlin.asJava.elements.LightParameter converted to Kotlin: Rename .java to .kt 2019-07-24 10:11:44 +03:00
Nicolay Mitropolsky 8982a49dcb renaming KtLightParameter to KtLightParameterImpl 2019-07-24 10:11:44 +03:00
Anton Yalyshev 4a20a440a7 Cleanup: remove redundant semicolon 2019-07-24 07:41:58 +03:00
Anton Yalyshev 6d53151256 Add statistics (FUS) collector for IDE Settings. At the moment - New Inference only. 2019-07-24 07:41:58 +03:00
Ilmir Usmanov 56b6b957d1 Generate line numbers for RHS of elvis expression if both LHS and RHS
are at the same line.
 #KT-32689 Fixed
2019-07-23 18:00:44 +03:00
Alexander Udalov 1f36f60f43 JVM IR: remove CrIrType, use class container in callable reference lowerings
This is possible now because after 3a9b94235f, 0423d0f41e and
5341de253f, all top level functions/properties in sources and in
binaries have a corresponding containing facade class
2019-07-23 16:39:38 +02:00
Igor Chevdar a048a11074 Enabled/disabled some tests for K/N 2019-07-23 19:16:46 +05:00
Igor Chevdar c4da5cb95c [IR] Added IrType.isKSuspendFunction() 2019-07-23 19:16:46 +05:00
Dmitriy Dolovov e398804663 Show the actual Kotlin version in error message in nativeLibrariesUtil.kt 2019-07-23 20:54:39 +07:00
Dmitry Gridin 4e2989e884 CreateExpectActualFix: fix package for files with root package from non-root directory
#KT-28746 Fixed
2019-07-23 16:24:43 +03:00
Dmitry Gridin c76ca988eb KotlinCreateTestIntention: disallow intention for expect classes
#KT-26242 Fixed
2019-07-23 16:24:16 +03:00
Dmitry Gridin 311cfc3806 UnimplementedKotlinInterfaceMemberAnnotator: shouldn't report methods with @JvmStatic
#KT-27208 Fixed
2019-07-23 16:23:04 +03:00
Dmitry Gridin cf07585b11 UnimplementedKotlinInterfaceMemberAnnotator: cleanup code 2019-07-23 16:23:03 +03:00
Andrey Uskov ad1b795a69 Disable KaptImportingTest in IDEA 183 and below 2019-07-23 11:43:36 +03:00
Andrey Uskov 6e10126c6f Fix matching file paths under Windows in NewMultiplatformKaptProjectImportingTest 2019-07-23 11:43:16 +03:00
Toshiaki Kameyama 22c5e208a6 ReplaceGuardClause inspection: do not report when 'if' expression is used as expression 2019-07-22 20:49:20 +03:00
Toshiaki Kameyama a6690e4e35 ReplaceGuardClause inspection: do not remove 'else' branch
#KT-32797 Fixed
2019-07-22 20:49:20 +03:00
Toshiaki Kameyama a3a3c52c24 ReplaceGuardClause inspection: fix highlight range 2019-07-22 20:49:20 +03:00
Alexander Udalov 35e4295e16 IR: deduplicate code in DeepCopyWithWrappedDescriptors/DeepCopyIrTreeWithDescriptors 2019-07-22 19:47:25 +02:00
Alexander Udalov 96efae2b48 IR: fix endless recursion in IrTypeSystemContext.isMarkedNullable 2019-07-22 19:47:25 +02:00
Nikolay Krasko 72fdb47f13 Fix maven import tests by adding java-ide-customization dependency [KT-32833]
Need java-ide-customization because of JavaAwareModuleTypeManagerImpl
registration. Otherwise there were two instances of JavaModuleType that
were not equal and that prevented facets creating after Maven project
importing.

 #KT-32833 Fixed
2019-07-22 19:13:51 +03:00
Dmitry Gridin 0993fb82fe multiplatformUtil: implementedModules shouldn't ignore android test module
Relates to #KT-30799
2019-07-22 17:56:25 +03:00
Andrey Uskov 8294e5afc2 Increase heap size for gradle importing tests due to memory
leak in the gradle daemon
#KT-32731 Fixed
2019-07-22 16:10:33 +03:00
Andrey Uskov db743aa6e8 Calculation of supported platforms in AndroidSourceSetDataService fixed
for IDEA versions 183 and below.
A deep copy of MPP model for Android source sets is created
2019-07-22 16:06:03 +03:00
Andrey Uskov d69fbf1177 Fix serialization of iml files for IDEA 192
#KT-32629 Fixed
2019-07-22 15:53:48 +03:00
Mikhael Bogdanov 74e49d91ca Proper implement 'classForImplicitThis' 2019-07-22 10:35:03 +02:00
Dmitry Gridin a9f0d1a53b AddOperatorModifierInspection: decrease severity to INFORMATION
#KT-32796 Fixed
2019-07-22 11:17:15 +03:00
Dmitriy Novozhilov b99efb9a2b [NI] Look for type variables in captured flexible types
#KT-32434 Fixed
2019-07-22 11:08:39 +03:00
Dmitriy Novozhilov 58b4ab35f0 [NI] Fix passing callable references to suspend functions as functional parameter
#KT-32452
2019-07-22 11:06:19 +03:00
Dmitry Petrov 127be9be03 psi2ir: Fix KT-30796 ErrorType for '?:' in OI 2019-07-22 09:46:21 +03:00
Anton Yalyshev 959b720e3f Cleanup: specify description for Gradle Kotlin/Multiplatform wizard 2019-07-21 16:57:54 +03:00
Vladimir Dolzhenko 0f6c381cd7 Fixed a corner case for invalidate package cache for default package
relates to KT-25264
2019-07-19 18:02:20 +02:00
Ilya Chernikov 5ed6573a60 Fix testLazyScriptDefinitionProvider:
The KtUsefulTestCase functionality is not used here but seems causes
the side effects resulting in failing test, probably exactly because
the infrastructure loaded by the KtUsefulTestCase is never called
2019-07-19 16:37:50 +02:00
Ilya Chernikov 853f2a9c3f Fix flaky failures in main-kts IT 2019-07-19 16:37:50 +02:00
Ilya Chernikov c0804000eb Shorten temp paths used in tests
#KT-32490 fixed
2019-07-19 16:37:50 +02:00
Ilya Chernikov ee0f55d8e1 Fix gradle IT with scripting discovery
The test is not designed to fail if the definitions are not discovered -
the script files have completely custom extensions and therefore ignored.
So checking for the warning in the build log is enough.
#KT-32697 fixed
2019-07-19 16:37:50 +02:00
Ilya Chernikov 747c488a78 Fix entries closing on saving compiled script to jar:
also adding a short sleep in tests, otherwise in some cases the
classloader was not able to find class in the jar.
Fixes script to jar saving tests on windows
2019-07-19 16:37:49 +02:00
Ilya Chernikov 5b3164ee87 Ignoring resolver tests that failing on TC:
should be rewritten to the new scripting API
Some additional diagnostics improvements are remained for possible
future usage.
2019-07-19 16:37:49 +02:00
Ilya Chernikov 823cb70ba0 Fix script definition matching for REPL console
fixes IdeReplCompletionTestGenerated tests
in addition, fix default ScriptDefinition generation
2019-07-19 16:37:49 +02:00