Commit Graph

60222 Commits

Author SHA1 Message Date
Pavel Kirpichenkov 7ee71450bc [NI] Discriminate Nothing? result type from nullability constraints
Nullability constraints should not be chosen when proper
argument constraints for variables in contravariant position present.

^KT-32106 Fixed
^KT-33166 Fixed
2019-12-25 14:59:06 +03:00
Pavel Kirpichenkov a1ad680edb [NI] Disallow full completion based on lower Nothing constraint 2019-12-25 14:59:06 +03:00
Pavel Kirpichenkov 384bd858e9 [NI] Support fixation to subtype in completion mode calculator
Allow full compltion mode for return type depending on type parameters in
contravariant position only if they have proper equality constraint.
2019-12-25 14:59:05 +03:00
Pavel Kirpichenkov e69e45e2a6 [NI] Remove direcion calculator from variable fixation
Force constraint system completer to always fix variable with unknown position.
This makes inferred type for in parameters less specific, but OI infers to
subtype in such cases, so NI won't infer to less specific types than before.
2019-12-25 14:59:05 +03:00
Pavel Kirpichenkov e9941f8c12 [NI] Implement algorithm for completion mode selection
Current selection of completion mode for call is not always correct in case of full mode,
and sometimes too conservative in case of partial mode. Updated algorithm checks constraints
wrt position of type variables in return type and in other related constraints.
Full completion happens if proper constraint requirements are satisfied for variables.
2019-12-25 14:59:05 +03:00
Pavel Kirpichenkov a9391c8dfb [NI] Remove Nothing result type restriction in most cases
Make Nothing as result type not suitable only for if, when, try and ?: special functions.
2019-12-25 14:59:05 +03:00
Mikhail Zarechenskiy ae1630f376 [NI] Don't discriminate Nothing-type from resulting ones
^KT-32106 Fixed
2019-12-25 14:59:04 +03:00
Dmitry Petrov a8e9a6a1d0 Properly reference type parameter descriptors
'descriptor -> descriptor.original' relation is often inconsistent
wrt 'containingDeclaration', parameters, and type parameters,
we have to introduce some workarounds here.
2019-12-25 14:20:47 +03:00
Igor Chevdar f8fd5092c6 [native-gradle-plugin] Disabled cache building for iOS devices 2019-12-25 16:16:55 +05:00
Nikolay Krasko 70ff3d36d0 Fix running tests in compiler plugins 2019-12-25 14:05:16 +03:00
Nikolay Krasko 5583b57ed7 Regenerate spec tests to activate muting framework for them 2019-12-25 14:05:15 +03:00
Nikolay Krasko 7a94b1d88b Mute SpringReferenceNavigationTestGenerated test 2019-12-25 14:05:15 +03:00
Nikolay Krasko 2f129ea435 Allow resolve during fixing AddSpringBeanQualifierFix action
Fix SpringQuickFixTestGenerated test
2019-12-25 14:05:15 +03:00
Nikolay Krasko bf79b660c4 Fix HighlightingWithDependentLibrariesTest in 193 by using relative path 2019-12-25 14:05:14 +03:00
Nikolay Krasko 1b9bae0cca Mute more flaky tests
JavaAgainstKotlinSourceCheckerWithoutUltraLightTestGenerated.JavaAgainstKotlin
ConfigureKotlinInTempDirTest
MavenMigrateTest
2019-12-25 14:05:14 +03:00
Nikolay Krasko d575df56e9 Minor: show method key in parse error 2019-12-25 14:05:14 +03:00
Nikolay Krasko 143cfc7030 Minor: put first actual item to the new line in tests 2019-12-25 14:05:13 +03:00
Nikolay Krasko 9b68008208 Mute JvmSmartCompletionTestGenerated (KT-32919) 2019-12-25 14:05:13 +03:00
Nikolay Krasko c372dc7f0a Fix AmbiguousCalls in >= 192 2019-12-25 14:05:13 +03:00
Nikolay Krasko 0884681662 Mute flaky stub builder tests 2019-12-25 14:05:12 +03:00
Nikolay Krasko 1e14c48742 Mute KotlinMavenInspectionTestGenerated 2019-12-25 14:05:12 +03:00
Nikolay Krasko 9206f1cfb2 Remove compatibility hack with reflection usage 2019-12-25 14:05:12 +03:00
Nikolay Krasko 1682ace428 Mute MultiPlatformHighlightingTestGenerated 2019-12-25 14:05:11 +03:00
Nikolay Krasko 3210e1d44c Fix testHighlightingWithDependentLibraries 2019-12-25 14:05:11 +03:00
Nikolay Krasko 03bd80b1ba Mute CreateActual.testWithTestDummy 2019-12-25 14:05:11 +03:00
Nikolay Krasko d2909814c2 Mute DeprecatedSymbolUsageFixSpecialTest 2019-12-25 14:05:10 +03:00
Nikolay Krasko d80fdf307f Fix testNoSynthesizedParameterNames in 192 and 193 2019-12-25 14:05:10 +03:00
Nikolay Krasko dca5ff10c7 Mute testKotlin_moveTopLevelDeclarations_moveFunctionToPackage_MoveFunctionToPackage in 193 2019-12-25 14:05:10 +03:00
Nikolay Krasko 6613b73657 Mute highlighting tests 2019-12-25 14:05:09 +03:00
Nikolay Krasko 1e3736ec1e Mute SerializationIrBytecodeListingTestGenerated 2019-12-25 14:05:09 +03:00
Nikolay Krasko 1058f04c53 Mute ShortenRefsTestGenerated 2019-12-25 14:05:09 +03:00
Nikolay Krasko 84604b91bf Mute StringInterpolationInjectionTest 2019-12-25 14:05:08 +03:00
Nikolay Krasko c11f36cf1d Mute IncrementalJvmJpsTestGenerated tests 2019-12-25 14:05:08 +03:00
Nikolay Krasko 18b1d64adc Update FindUsagesTestGenerated$Kotlin$Conventions.testSet test data 2019-12-25 14:05:07 +03:00
Nikolay Krasko 3520d5b81d Mute JavaAgainstKotlinBinariesCheckerTestGenerated tests in 192 and 193 2019-12-25 14:05:07 +03:00
Nikolay Krasko 5f25242cbf Mute QuickFixTestGenerated.Libraries tests 2019-12-25 14:05:07 +03:00
Nikolay Krasko 712517a02e Mute testWithJava9ModuleInfo tests 2019-12-25 14:05:07 +03:00
Nikolay Krasko f41b588f70 Mute gradle.NewMultiplatformProjectImportingTest tests
Stable failure on windows.
2019-12-25 14:05:06 +03:00
Nikolay Krasko 08ade450ff Mute gradle.ImportAndCheckHighlighting (KT-35631) 2019-12-25 14:05:06 +03:00
Nikolay Krasko c848212ae9 Mute GradleBuildFileHighlightingTest test 2019-12-25 14:05:06 +03:00
Nikolay Krasko c935078f05 Mute JavaToKotlinConverterSingleFileTestGenerated tests 2019-12-25 14:05:05 +03:00
Nikolay Krasko c5d4213a5c Mute CoroutineDumpTestGenerated, stable failure on windows 2019-12-25 14:05:05 +03:00
Nikolay Krasko 9d54d1ec40 Mute GradleFacetImportTest tests in 192 and 193 2019-12-25 14:05:05 +03:00
Nikolay Krasko 482cb07420 Mute GradleConfiguratorTest tests 2019-12-25 14:05:04 +03:00
Nikolay Krasko 8014a6509e Allow to mute JUnit 4 tests with parameters 2019-12-25 14:05:04 +03:00
Svyatoslav Kuzmich d74721716a [JS IR] Use short klib names instead of absolute paths 2019-12-25 13:44:57 +03:00
Svyatoslav Kuzmich 31c84e9ac4 [JS IR] Build stdlib using compiler from repo
Previously JS IR versions of stdlib and kotlin-test were build
by default using compiler previously built on a buildserver.

It had some issues:
 - This required us to advance bootstrap every time we made any
   incompatible IR changes. This happens often since IR ABI is
   not quite stable yet.

 - We never tested the exact combination of compiler and stdlib we publish

   We tested:
    - new compiler with new stdlib build by new compiler (in box tests)
    - old compiler with new stdlib build by old compiler (in stdlib tests)

   We published:
    - new compiler with new stdlib build by old compiler

After this change JS IR compiler tests, builds and publishes
single configuration:

    new compiler with new stdlib build by new compiler

JS IR stdlib and kotlin-test are now built using JavaExec of CLI instead
of Gradle plugin to avoid troubles of loading a freshly built plugin.

This also allows to have a granular dependencies: we don't rebuild klib
if we changed a lowering in a compiler backend, but we do rebuild it if
we changed IR serialization algorithm.
2019-12-25 13:44:57 +03:00
Pavel Punegov 70111f8db1 Ignore test in Native backend 2019-12-25 13:40:38 +03:00
victor.petukhov be8ae24713 Temporary mute some spec tests through apply changes after 45e881f03f 2019-12-25 12:44:54 +03:00
Sergey Igushkin 1129b2d3eb Support serializing a module's own descriptors without dependencies
The KlibMetadataSerializer used to serialize all package fragments that a module
could provide, including those coming from the module's dependencies. In order
to produce a klib from a module that is analyzed by the K2MetadataCompiler, the
serializer needs to take just the own package fragments of the module, excluding
those of the dependencies.
2019-12-25 12:09:08 +03:00