Commit Graph

65765 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 1973060e8c [FIR-PLUGIN] Fix AllOpenClassGenerator after previous commit 2020-05-29 10:22:03 +03:00
Dmitriy Novozhilov 6d37776267 [FIR] Rename FirClassImpl to FirRegularClassImpl
Also rename `buildClassImpl` to `buildRegularClass` and get rid
  of intermediate `AbstractFirRegularClassBuilder`
2020-05-29 10:22:03 +03:00
Dmitriy Novozhilov 60fd505a9c [FIR] Get rid of FirSealedClass node
Now list of inheritors is hold in attributes of `FirRegularClass`
2020-05-29 10:22:00 +03:00
Dmitriy Novozhilov 41cdb61ef3 [FIR] Move all symbol providers to separate package 2020-05-29 10:20:57 +03:00
Dmitriy Novozhilov a1c3d2b709 [FIR] Add separate session component for FirIdeProvider 2020-05-29 10:17:22 +03:00
Dmitriy Novozhilov 34d3fe26e6 [FIR] Get rid of FirProvider.getInstance 2020-05-29 10:17:21 +03:00
nataliya.valtman ff06e60a06 Revert "run for 28.0.2"
This reverts commit 86d52d41
2020-05-29 10:09:50 +03:00
nataliya.valtman 86d52d4123 run for 28.0.2 2020-05-29 10:07:34 +03:00
Dmitriy Novozhilov 1982f80bfb [NI] Leave candidates with annotation if there are no candidates without it 2020-05-29 09:36:33 +03:00
Dmitriy Novozhilov 2812ed0a02 [NI] Use types and systems from return arguments instead of return type of lambda 2020-05-29 09:36:33 +03:00
Dmitriy Novozhilov f76b57d260 [OI] Prefer candidate without @OverloadResolutionByLambdaReturnType 2020-05-29 09:36:33 +03:00
Dmitriy Novozhilov a604404bff [NI] Report warning if candidate was chosen using only @OverloadResolutionByLambdaReturnType 2020-05-29 09:36:33 +03:00
Dmitriy Novozhilov 82ce2e7b7c [NI] Update annotation used in testdata 2020-05-29 09:36:32 +03:00
Ilya Gorbunov e9ef6dbc28 Discriminate OverloadResolutionByLambdaReturnType annotated overloads...
instead of preferring them in case of unsolvable ambiguity.
2020-05-29 09:36:32 +03:00
Dmitriy Novozhilov e1418a5540 [NI] Check for maximally specific candidate chosen with factory resolution 2020-05-29 09:36:32 +03:00
Dmitriy Novozhilov e7869bd9d4 [NI] Analyse lambda in factory pattern resolution in independent context 2020-05-29 09:36:32 +03:00
Ilya Gorbunov a0c7bece93 Overload resolution by lambda return type
Make compiler recognize new annotation enabling this feature.

Change overload selection algorithm to consider all overloads
with that annotation, not just the first one.

#KT-38480
#KT-11265
2020-05-29 09:36:32 +03:00
Ilya Gorbunov 23414496c4 Annotation to enable overload resolution by lambda return type
#KT-38480
2020-05-29 09:36:32 +03:00
Dmitriy Novozhilov 1c32c62a87 [NI] Choose annotated candidate if call still ambiguous
#KT-11265
2020-05-29 09:36:31 +03:00
Dmitriy Novozhilov 8c524769b1 [NI] Add required FactoryPattern annotation for factory pattern resolve
#KT-11265
2020-05-29 09:36:31 +03:00
Dmitriy Novozhilov 865ddac07a [NI] Add feature for choosing candidate by lambda return type 2020-05-29 09:36:31 +03:00
Ilya Gorbunov f243b8946f Restore testOmittedStdlibVersion originally added in commit 15feeddc 2020-05-29 04:10:17 +03:00
Ilya Gorbunov d47981f07b Drop gradle ITs depending on AGP versions below 3.2
AGP of these versions cannot handle module-info class included in
kotlin-stdlib artifact from now on.
2020-05-29 04:10:17 +03:00
Dmitry Petrov a270ee094c Language feature for new inline class mangling rules (since 1.4) 2020-05-29 00:53:01 +03:00
Dmitry Petrov 94509bdb4e KT-39228 Fix inliner when latest 1.4 compiler used with 1.3 stdlib
Since 1.4.0-dev-8774, we mangle functions returning inline class values,
including functions with return type 'kotlin.Result'. This causes
incompatibility when 1.4 compiler is used with 1.3 (or just some
pre-1.4.0-dev-8774) standard library.

Also, write "message from the future" on functions returning inline
class values indicating that they can be used since compiler version 1.4
(otherwise 1.3 compiler using 1.4 stdlib would fail to find some
@InlineOnly functions such as 'Result.success' and 'Result.failure').
2020-05-29 00:53:00 +03:00
Mikhail Glukhikh ffdab473e2 IR symbols: enhance exception messages / toString() a bit 2020-05-28 22:59:13 +03:00
Mikhail Glukhikh b6cdcc8d50 [FIR2IR] Mute 2 failing BB tests 2020-05-28 22:51:20 +03:00
Mikhail Glukhikh 19f1a3de1a [FIR2IR] Populate overridden symbols also with public symbol inheritors 2020-05-28 22:19:21 +03:00
Mikhail Glukhikh 85760770a8 [FIR2IR] Initialize built-in symbols at start of conversion 2020-05-28 22:18:20 +03:00
Mikhail Glukhikh cd24745f1f [FIR2IR] Add primitive signature composer & use it for external classes 2020-05-28 22:18:13 +03:00
Mikhail Glukhikh 048e7a7075 [FIR] Add forgotten FirJvmBackendClassResolver to CLI 2020-05-28 22:18:05 +03:00
Andrey Uskov 0ed9356cd2 Fixed reporting duration between builds in gradle statistics 2020-05-28 22:08:18 +03:00
Andrey Uskov 8dcbc391fe Implemented collecting JS compilation mode
#KT-36410 Fixed
2020-05-28 22:08:13 +03:00
Andrey Uskov 97039926f0 Fixed import of transitive HMPP dependencies
#KT-36792 Fixed
2020-05-28 22:08:04 +03:00
Andrey Uskov a431e20b45 Fix import of js MPP source sets in both mode
#KT-38706 Fixed
2020-05-28 22:07:55 +03:00
Andrey Uskov 36c9d04cd3 Fix HMPP import tests 2020-05-28 22:07:51 +03:00
Andrey Uskov 9c2918bdd6 Drop import tests with module per source set disabled 2020-05-28 22:07:48 +03:00
Andrey Uskov 104eeb9ffd Fixed KNPE when serialized Kotlin Facet is broken
#KT-37428 Fixed
2020-05-28 22:07:44 +03:00
Andrey Uskov e6165ed785 Improved performance of MPP projects import
#KT-39059 Fixed
2020-05-28 22:07:39 +03:00
Andrey Uskov 8eca3c8aa8 Fixed building MPP model if project root directory does not exist 2020-05-28 22:07:36 +03:00
Andrey Uskov c7a53e4435 Fix android import tests 2020-05-28 22:07:31 +03:00
Andrey Uskov 351d706e0d Fixed reporting NPM download time
#KT-39109 Fixed
2020-05-28 22:07:27 +03:00
Andrey Uskov 15ead4cbe6 Fixed representation of project structure when MPP module is involved
KT-37125
2020-05-28 22:07:22 +03:00
Andrey Uskov 2eb354f211 Fixed import of MPP modules with single artifacts
#KT-38037 Fixed
2020-05-28 22:07:16 +03:00
Zalim Bashorov a8623b9b28 Make sure that library file still exists before calling loadMetadata from JsResolverForModuleFactory since IDE model could be outdated
#EA-218905 fixed
2020-05-28 21:38:01 +03:00
Zalim Bashorov 7f41dc4828 Add more detailed message for EA-227305 and EA-226744 2020-05-28 21:38:00 +03:00
Vyacheslav Karpukhin 7b55a49ddd Dependency on IDEA replaced with AS incompatibility 2020-05-28 19:29:22 +02:00
Steven Schäfer dc0ef996b7 JVM IR: Implement the new inline class ABI 2020-05-28 18:00:35 +03:00
Nicolay Mitropolsky e60a32e8d3 Uast: UastFakeLightMethod dependent generic type SOE fix KT-39155 2020-05-28 17:53:30 +03:00
Vladimir Ilmov de790a3e3b (UnusedSymbolInspection) Added support for typing per inspection tests
relates to #KT-38653
2020-05-28 15:27:58 +02:00