Commit Graph

21407 Commits

Author SHA1 Message Date
Andrey Uskov 6d9be0ab5d Fix MPP import tests 2019-10-01 08:30:09 +03:00
Andrey Uskov c0f2be478f Fix calculation of target platform for common test modules for NMPP
#KT-34070 Fixed
2019-10-01 08:30:07 +03:00
Anton Yalyshev 9af6efcb24 Return old-style DSL for Gradle versions < 5.0 2019-10-01 07:18:00 +02:00
Denis Zharkov f91db5f0b8 Restore correct overloads ambiguity accidentally removed in 1.3.60
This problem is only relevant when isTypeRefinementEnabled == true (HMPP projects)

Ambiguity accidentally was removed after 471134d
There, for areCallableDescriptorsEquivalent we stopped assuming
as impossible a situation of having identity-different descriptors
in the same containing declaraton that still might be considered equal

So, before 471134d we were comparing
"fun foo(x: String)" with "[substituted] fun foo(x: String)"
and areCallableDescriptorsEquivalent returned false for such case.
Thus, both overrides were left in the resulting set.

After 471134d, those two descriptors
becamed considered as equal thus having a possibility to remove any of them.

The problem is that "areCallableDescriptorsEquivalent" has kind of
unclear contract. Effectively it checks whether two descriptors match
to the same declaration.

But some of the usages expect that it also makes sure that descriptors
have the same substitution (see org.jetbrains.kotlin.resolve.calls.smartcasts.IdentifierInfo.Variable#equals)

So, the straight solution is using original descriptors for the cases
where we need to make sure that descriptors relates to actually different
declarations

^KT-34027 Fixed
2019-09-30 20:09:42 +03:00
Denis Zharkov 67410f7a57 Parametrize behavior of DescriptorEquivalenceForOverrides::areCallableDescriptorsEquivalent
The changes introduced 471134d31e are only needed
for the case of HMPP project while for other cases it might break the behavior
a bit like in KT-34027

See org.jetbrains.kotlin.resolve.calls.results.OverloadingConflictResolver#filterOutEquivalentCalls

Before 471134d we were comparing
"fun foo(x: String)" with "[substituted] fun foo(x: String)"
and areCallableDescriptorsEquivalent returned false for such case.
Thus, both overrides were left in the resulting set.

After 471134d, those two descriptors
becamed considered as equal thus having a possibility to remove any of them.

The problem is that "areCallableDescriptorsEquivalent" has kind of
unclear contract. Effectively it checks whether two descriptors match
to the same declaration

But straightforward fixing of this exact call-site (using original descriptors)
doesn't help: behavior might change in a very subtle way (see org.jetbrains.kotlin.spec.checkers.DiagnosticsTestSpecGenerated.NotLinked.Dfa.Pos#test72)

So, the main idea is changing the contract for areCallableDescriptorsEquivalent
only when project is HMPP one.

^KT-34027 In Progress
2019-09-30 20:09:42 +03:00
Sergey Rostov 4c579f5286 build.gradle.kts: collect statistics about auto reload, fix 183 as as34 2019-09-30 14:08:43 +03:00
Nikolay Krasko 552408e887 Minor: update test data for quick doc with deprecated annotation 2019-09-30 13:38:27 +03:00
Nikolay Krasko 2ec231f381 Minor: fix CompletionMultiFileHandlerTest test 2019-09-30 13:38:27 +03:00
Nikolay Krasko 751a18e64b Minor: update test data PartialBodyResolveTestGenerated 2019-09-30 13:38:26 +03:00
Natalia Selezneva 064689b6b7 Merge pull request #2467 from t-kameyama/KT-14756
KT-14756 Move statement down breaks code in argument list
2019-09-30 13:19:07 +03:00
Natalia Selezneva 66a6713577 Tests: extract scripts testdata for light classes in ide to separate test
For compiled scripts there is AbstractIdeCompiledLightClassTest
For now there is a difference in light classes constructed from source and from compiled class (missing baseClass and constructor parameter for script class)
But it doesn't affect users because calling script class from Java isn't supported yet

testData for AbstractIdeLightClassTest and AbstractIdeLightClassForScriptTest can be merged when the difference will be fixed
2019-09-30 09:47:20 +03:00
Sergey Rostov 46f8feaf98 build.gradle.kts: collect statistics about auto reload 2019-09-30 09:44:52 +03:00
Nikolay Krasko 1804619076 Fix AmbiguousCalls test in 192 2019-09-30 00:53:03 +03:00
Nikolay Krasko 7e691a0864 Store project to avoid creating psi factory from invalid element
Fix ConvertLineCommentToBlockCommentIntention tests
2019-09-30 00:53:03 +03:00
Nikolay Krasko 319cabcc88 Remove deprecated InjectorUtils#putInjectedFileUserData in injection (KT-33775)
#KT-33775 Fixed
2019-09-30 00:53:03 +03:00
Ilya Kirillov f70654d16b Fix CreateTypeParameter quick fix tests
Partially reset 21429f0b94
2019-09-29 20:43:19 +03:00
Ilya Kirillov 41fd9fff76 Minor: reformat CreateTypeParameterUnmatchedTypeArgumentActionFactory 2019-09-29 12:27:44 +03:00
Ilya Kirillov 21429f0b94 Do not try to add type parameter to non-writable declaration (EA-209570) 2019-09-29 12:27:43 +03:00
Ilya Kirillov a24da280ca Call update for ScratchAction in EDT thread (EA-210180) 2019-09-29 12:27:43 +03:00
Ilya Kirillov 7831237aaa Minor: reformat KotlinRunConfigurationProducer 2019-09-29 12:27:43 +03:00
Ilya Kirillov 016132c762 Fix NPE in KotlinRunConfiguration & do not throw exception on unknown container type (EA-209426) 2019-09-29 12:27:43 +03:00
Ilya Kirillov c000f33955 New J2K: make initial generating code formatting better 2019-09-29 11:39:36 +03:00
Vladimir Dolzhenko 3e2dac6586 Use test path relative to testDataPath in fixture.configureByFile to be complaint with 193 2019-09-29 09:45:42 +02:00
Vladimir Dolzhenko 7c80c6ba63 Fix performanceTests for 193 2019-09-29 09:38:27 +02:00
Anton Yalyshev 6fa7da57a4 It's better to get plugin version once but not in cycle 2019-09-27 20:06:53 +03:00
Anton Yalyshev db189fa218 Remove Maven and JPS targets collectors that are unused now 2019-09-27 20:06:53 +03:00
Anton Yalyshev d4266e1be6 Bunches for ProjectConfigurationCollector 2019-09-27 20:06:53 +03:00
Anton Yalyshev 21b7d873e7 Move build system and targets statistics collection from StartupActivity to FUS State Collector 2019-09-27 20:06:53 +03:00
Andrey Uskov 6a808ce842 Fix import tests compilation in bunch 183 2019-09-27 17:28:07 +03:00
Dmitriy Novozhilov 439e8faf94 [NI] Remove outdated intention test according to fixed consistency of OI and NI 2019-09-27 17:20:47 +03:00
Toshiaki Kameyama 82f75c707e "Convert to range check" inspection: apply ReplaceRangeToWithUntilInspection after convertion
#KT-33880 Fixed
2019-09-27 20:33:48 +07:00
Toshiaki Kameyama 54df0aad16 Reformat ConvertTwoComparisonsToRangeCheckIntention 2019-09-27 20:33:48 +07:00
Anton Yalyshev 6c06c4e3fc Group Id and Version fields generation doesn't need 193 bunches. It works well with previos versions. 2019-09-27 14:58:19 +03:00
Anton Yalyshev 18cfa42930 Bump Gradle to 5.5.1 cause it contains several major fixes for 5.5 2019-09-27 14:58:19 +03:00
Anton Yalyshev a53f66ca4e Gradle 5.5 Daemon requires -Xmx256m 2019-09-27 14:58:19 +03:00
Anton Yalyshev ee7b583a82 Bump Gradle and Android build tools version in New Kotlin Project Templates #KT-27587 Fixed 2019-09-27 14:58:18 +03:00
Anton Yalyshev 626087a46e Use type-safe model accessors for Gradle plugin #KT-31766 Fixed 2019-09-27 14:58:18 +03:00
Anton Yalyshev 721aa81ca5 Relying on platform stepping goes better only from 2019.3 2019-09-27 14:58:18 +03:00
Anton Yalyshev a66078f2cd Let New Gradle project or module wizard rely on platform stepping to avoid inconsistency #KT-33927 Fixed #KT-30685 Fixed #KT-28404 Fixed 2019-09-27 14:58:18 +03:00
Ilya Matveev 3da3e1cae9 IDE: Add native extensions to KotlinCompilation 2019-09-27 18:06:58 +07:00
Ilya Matveev 95cbb4e8b4 IDE: Add a flag to disable native libraries propagation 2019-09-27 18:06:58 +07:00
Ilya Matveev becdd7a5e6 Add a test for native dependency propagation 2019-09-27 18:06:57 +07:00
Ilya Matveev 701e92ace2 IDE: Propagate platform libraries to common modules for some native targets
Some native platforms (e.g. ios_arm64 and ios_x64) have almost
identical platform libraries. For such platforms we can workaround
a lack of the commonizer and resolve common sources against
libraries of one of these platforms. This patch enables this
workaround by propagating dependencies to common modules.

Issue #KT-33999 fixed
2019-09-27 18:06:56 +07:00
Dmitry Gridin c185cecb40 Completion: fix shortening of fully qualified name for case of conflicts between property and function
#KT-31902 Fixed
#KT-33937 Fixed
2019-09-27 17:52:11 +07:00
Dmitry Gridin 589094377e QualifiedExpressionResolver: change root prefix from _Qfadj4tPV to _root_ide_package_ 2019-09-27 17:52:11 +07:00
Alexander Podkhalyuzin 9a2da67919 ShortenReferences: cleanup code & add tests for property-function conflicts 2019-09-27 17:52:11 +07:00
Natalia Selezneva 917a7f572d Check that project is open before starting highlighting
This may be false when user opens Kotlin Scripting Settings, so default project is passed to ScriptDefinitionsManager
^KT-30206 Fixed
2019-09-27 12:59:43 +03:00
Natalia Selezneva 5ab119ecfb Do no try to find script definitions for default project
This may happen when user opens Kotlin Scripting Settings
^KT-32401 Fixed
2019-09-27 12:58:36 +03:00
Andrey Uskov a4a03aeb5c Fix compilation of KotlinMPPGradleModelBuilder 2019-09-27 12:14:43 +03:00
Andrey Uskov ca75aeb534 Update kotlin gradle plugin version in HMPP tests 2019-09-27 12:00:08 +03:00