Commit Graph

79998 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 011bb0924a [FIR-IDE] Introduce FirIdeSessionFactory for creating ide sessions 2020-09-01 12:00:13 +03:00
Dmitriy Novozhilov cb47e631f8 [FIR] Move extended checkers containers to :compiler:fir:entrypoint 2020-09-01 12:00:13 +03:00
Dmitriy Novozhilov f14efedc3d [FIR] Fix broken gradle compilation 2020-09-01 12:00:13 +03:00
Dmitriy Novozhilov c250912ee0 [FIR-TEST] Use FirAnalyzerFacade in BB and Fir2IrText tests 2020-09-01 12:00:13 +03:00
Dmitriy Novozhilov a4e24ca3dc [FIR] Introduce FirAnalyzerFacade which hides implementation details of running FIR compiler 2020-09-01 12:00:13 +03:00
Dmitriy Novozhilov 6db8c28291 [FIR] Refactor session components initialization
From now all customization of session should perform via DSL which
  declared in FirSessionFactory. Registration or mutation session
  services from other places is prohibited
2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov 2819bd3aaf [FIR] Get rid of deprecated extension point registration methods usage 2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov cf224b4de9 [FIR] Add createEmptySession to FirSessionFactory for testing purposes 2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov a8d23c36f5 [FIR] Introduce module :fir:entrypoint and FirSessionFactory for creating sessions 2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov 94d58c714a [FIR] Cleanup dependencies for fir modules 2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov 73e2314f2f [FIR] Get rid of dependency on intellijCore from :compiler:fir:resolve 2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov 18ad56f7a8 [FIR] Fix creating fake source elements in declarations resolve 2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov 28e6050551 [FIR] Extract java synthetic names calculation to platform specific component 2020-09-01 12:00:12 +03:00
Dmitriy Novozhilov 375140ebcc [FIR] Extract java class mapping to platform specific component 2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov a0b931792e Move annotationsForResolve.kt to :core:compiler.common 2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov 07c353973d Move requireOrDescribe to :core:compiler.common 2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov f010dc533c Move Variance.convertVariance to :core:compiler.common 2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov e164c88a14 Move TypeSystemCommonBackendContext to :core:compiler.common 2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov 3379d9b619 [FIR] Extract java related effective visibility calculation to platform component 2020-09-01 12:00:11 +03:00
Dmitriy Novozhilov ed4c6a38b6 [FIR] Move deserialization files to module :compiler:fir:fir-deserialization 2020-09-01 12:00:10 +03:00
Dmitriy Novozhilov ca031f7ace [FIR] Split ResolveUtils.kt from :resolve to separate files 2020-09-01 12:00:10 +03:00
Dmitriy Novozhilov 6ace4164ff [FIR] Split TypeUtils from :resolve to :cones and :tree modules 2020-09-01 12:00:10 +03:00
Dmitriy Novozhilov 92ffa4dea9 [FIR] Replace KotlinScopeProvider with FirScopeProvider in ClassDeserialization
This is needed to remove dependecy on :fir:resolve from serialization
  methods
2020-09-01 12:00:10 +03:00
Mikhail Glukhikh 3aa13362ca [FIR2IR] Replace NPE in setThisReceiver with more detailed exception 2020-09-01 11:40:32 +03:00
Mikhail Glukhikh 65739c50d3 FIR full pipeline test: output build status per-module 2020-09-01 11:40:32 +03:00
Pavel Kirpichenkov 2979c37001 [NI] Fix resolution status for UnstableSmartCastDiagnostic
RESOLVED_WITH_ERROR was initially added for reproducing OI behavior.
The intention was to preserve resolution into unstable smart cast and to keep failing candidate.
However, this idea was abandoned after OI behavior proved inconsistent in cases involving generics.

This commit restores RUNTIME_ERROR status of UnstableSmartCastDiagnostic.

^KT-41357 Fixed
2020-09-01 11:21:13 +03:00
Igor Chevdar 5e71068e61 [IR] Handled degenerate cases of IrStringConcatenation
It is not needed to create StringBuilder if the number of values
being concatenated is 0 or 1
2020-09-01 11:34:17 +05:00
Vasily Levchenko b604b58223 [debugger][bindings] don't enter to recursion on type info calculation (KT-41291)
KT-41291
2020-09-01 08:23:03 +02:00
Dmitriy Dolovov 74dce725cc [Commonizer] Tests for missed supertypes in commonized type aliases
^KT-41247
2020-09-01 13:11:33 +07:00
Dmitriy Dolovov 96736b0126 [Commonizer] Add missed supertypes in commonized type aliases
^KT-41247
2020-09-01 13:11:27 +07:00
Dmitriy Dolovov e21d99334b [Commonizer] Lookup common descriptors that don't participate in commonization (for tests only)
This is necessary to run integration tests with fake declarations from
Kotlin/Native stdlib that are absent in stdlib-common.
2020-09-01 13:11:22 +07:00
Dmitriy Dolovov ed78169051 [Commonizer] README: Describe the case when target is not available 2020-09-01 13:11:16 +07:00
Nikolay Krasko 56f0fb6c70 Prevent test failures because of Leaked Android SDK
Stop implicit adding additional SDK from environment variables in
GradleSpecificInitializer and AndroidSdkInitializer.
2020-08-31 21:18:26 +03:00
Vasily Levchenko 56c8a2e190 [IR][linker][plugin api] adaptation a095909d5c
[Plugin API] Provide special context in EP for link-time resolve

     - requires to customize declarations from synthetic declarations
2020-08-31 19:37:35 +02:00
Vasily Levchenko f70d300f77 [build][jar-collision] added META-INF/compiler.common.kotlin_module 2020-08-31 19:37:35 +02:00
Vasily Levchenko 19e6e1a89c [descriptor][core][common] adaptation set of refactorings
7a7fe77b8e: Move static constants with builtin names to :core:descriptors.common module
45cf221b97: Move util functions from KotlinBuiltIns to :core:descriptors.common module
a764732020: Rename `KotlinBuiltInsNames` to `StandardNames`
2020-08-31 19:37:35 +02:00
Vasily Levchenko cb9a35506c [descriptor][core][common] adaptation 20a2ad8223
Move FunctionClassDescriptor.Kind to :core:descriptors.common module
2020-08-31 19:37:35 +02:00
Roman Artemev e0ff5ca30a [IR] Drop irProviders from stub generator (corresponding fix for K/N)
(cherry picked from commit 6644c890f562564d514fb06321ee81fb5c656618)
2020-08-31 19:37:35 +02:00
Alexander Udalov ddb5588258 IR: undeprecate IrUninitializedType
It's no longer a temporary hack, see the comment.

(cherry picked from commit a3f3c4543f545eae76d322d5ae697347c94528cc)
2020-08-31 19:37:35 +02:00
Pavel Punegov 75dc0643c9 Merge fixup
(cherry picked from commit c7ce1a400e830ac7add79e9e0e42d2089e94e71f)
2020-08-31 19:37:35 +02:00
Vasily Levchenko 44de35d77c [kotlin compiler][update] 1.4.20-dev-4195
* b050ef9970 - (HEAD -> master, tag: build-1.4.20-dev-4195, origin/master, origin/HEAD) [FIR] Remove print in UnusedChecker (vor 21 Stunden) <vldf>
* 9c3ff6828a - (tag: build-1.4.20-dev-4188) Export kotlin.test packages with annotations and underlying frameworks (vor 2 Tagen) <Ilya Gorbunov>
* ef57c62576 - (tag: build-1.4.20-dev-4185) [Gradle, Cocoapods] refactor I/O, improve Up-To-Date (vor 2 Tagen) <Andrey.Lozhkin>
* 1888462dc0 - [Gradle, Cocoapods] move tasks from per target (vor 2 Tagen) <Andrey.Lozhkin>
* fcf5060907 - [Gradle, Cocoapods] implement DSL to support Cocoapods Dependencies from Git or Web (vor 2 Tagen) <Andrey Lozhkin>
* b02f0f0a25 - (tag: build-1.4.20-dev-4173) JVM IR: Fix compilation of nested inner classes (vor 3 Tagen) <Steven Schäfer>
* 02e78bcd76 - JVM IR: Use package visibility for fields of captured variables (vor 3 Tagen) <Steven Schäfer>
* 443269af0a - (tag: build-1.4.20-dev-4167) [IR] Drop `irProviders` from stub generator (vor 3 Tagen) <Roman Artemev>
* 39808789c3 - [KLIB] Fix SOE in K/N (vor 3 Tagen) <Roman Artemev>
* 23f87d413a - (tag: build-1.4.20-dev-4166) Use initial system for completion if common one is effectively empty (vor 3 Tagen) <Mikhail Zarechenskiy>
* bb18203ae6 - (tag: build-1.4.20-dev-4163) [FIR] Various checkers performance fixes (vor 3 Tagen) <Nick>
* 5c88eb722d - (tag: build-1.4.20-dev-4146) Fix transitive deps on MPP with host-specific source sets (KT-41083) (vor 3 Tagen) <Sergey Igushkin>
* 9097d0918c - (tag: build-1.4.20-dev-4143) [JS BE] Support passing an array as argument of vararg in named form (vor 3 Tagen) <Zalim Bashorov>
* 606232a584 - [JS IR] Don't generate "import" statements for external interfaces (vor 3 Tagen) <Zalim Bashorov>
* ba846830c9 - [JS IR] Support nativeGetter, nativeSetter and nativeInvoke (vor 3 Tagen) <Zalim Bashorov>
* c804319e65 - (tag: build-1.4.20-dev-4142) FIR IDE: fix compilation on AS (vor 3 Tagen) <Ilya Kirillov>
* 36cc73602e - FIR IDE: fix testdata of AbstractFirLazyResolveTest (vor 3 Tagen) <Ilya Kirillov>
* 3cd445563e - FIR IDE: implement KotlinExpressionTypeProvider for FIR (vor 3 Tagen) <Ilya Kirillov>
* fcc7db5224 - FIR IDE: introduce analyseInModalWindow function (vor 3 Tagen) <Ilya Kirillov>
* 81be230541 - FIR IDE: add validity assertion on analysis session access (vor 3 Tagen) <Ilya Kirillov>
* db48884a4e - FIR IDE: add check canceled check between diagnostics (vor 3 Tagen) <Ilya Kirillov>
* 95a96f32bf - FIR IDE: log errors on diagnostics, not throw them (vor 3 Tagen) <Ilya Kirillov>
* ebafd0fb51 - FIR IDE: resolve ambiguity & inapplicable references (vor 3 Tagen) <Ilya Kirillov>
* 4fa2dd85b4 - FIR IDE: move lazy resolve to FirLazyDeclarationResolver (vor 3 Tagen) <Ilya Kirillov>
* 8faaff00fa - FIR IDE: run lazy resolve on declaration when getting phased fir (vor 3 Tagen) <Ilya Kirillov>
* 78bb1f1076 - FIR IDE: fix testdata in idea-frontend-fir (vor 3 Tagen) <Ilya Kirillov>
* 30ac80a506 - FIR IDE: introduce property accessor symbols (vor 3 Tagen) <Ilya Kirillov>
* aae56cadac - FIR IDE: add ModuleInfo for ide sessions as they are used for getting resolve components (vor 3 Tagen) <Ilya Kirillov>
* bc3e98b116 - FIR IDE: allow PCE between resolve phases, forbid in other cases (vor 3 Tagen) <Ilya Kirillov>
* 8363c711e6 - FIR IDE: fix lazy resolve for local declarations (vor 3 Tagen) <Ilya Kirillov>
* 9d237033ad - FIR IDE: minor, rename FirIdeModuleLibraryDependenciesSession to FirIdeLibrariesSession (vor 3 Tagen) <Ilya Kirillov>
* 8b782d5954 - FIR IDE: fix session provider implementation as it only provides only 2 sessions (vor 3 Tagen) <Ilya Kirillov>
* a07d3f2425 - FIR IDE: minor: rename FirIdeJavaModuleBasedSession to FirIdeSourcesSession (vor 3 Tagen) <Ilya Kirillov>
* f76b5bbf1b - FIR IDE: allow KtFirPackageScope to work without providers (vor 3 Tagen) <Ilya Kirillov>
* f4c17dadb3 - FIR IDE: remove unused FirIdeModuleLibraryDependenciesSymbolProvider (vor 3 Tagen) <Ilya Kirillov>
* a156cca02a - FIR: make class FirObjectImportedCallableScope to be name aware (vor 3 Tagen) <Ilya Kirillov>
* 333213bbb9 - (tag: build-1.4.20-dev-4140) Wizard: add descriptions for some settings (vor 3 Tagen) <Ilya Kirillov>
* 37b869ebc5 - Wizard: add descriptions for settings (vor 3 Tagen) <Ilya Kirillov>
* 09ed0c3e82 - (tag: build-1.4.20-dev-4137) [FIR-TEST] Update testdata (vor 3 Tagen) <Dmitriy Novozhilov>
* e7b5a88cbd - [FIR] Remove dependency on :compiler:frontend from :compiler:fir:resolve (vor 3 Tagen) <Dmitriy Novozhilov>
* abeb42ca20 - [FIR] Don't use ProjectExtensionDescriptor in FirExtensionRegistrar (vor 3 Tagen) <Dmitriy Novozhilov>
* f09e17a5ae - [FIR] Remove unused import (vor 3 Tagen) <Dmitriy Novozhilov>
* e405a02e8e - [FIR] Fix contract serialization (vor 3 Tagen) <Dmitriy Novozhilov>
* eaf8af919d - [FIR] Use PersistentList instead of guava's ImmutableList in SupertypeResolution (vor 3 Tagen) <Dmitriy Novozhilov>
* 148e8fe76e - Move `FlatSignature` to :compiler:resolution.common (vor 3 Tagen) <Dmitriy Novozhilov>
* 64766e125c - Move common inference classes to :compiler:resolution.common (vor 3 Tagen) <Dmitriy Novozhilov>
* 068d21635e - [NI] Get rid of KotlinType usages in MutableConstraintStorage.kt (vor 3 Tagen) <Dmitriy Novozhilov>
* af0df35623 - [NI] Get rid of FE 1.0 types in ConstraintInjector (vor 3 Tagen) <Dmitriy Novozhilov>
* ad039a28bd - [NI] Get rid of left FE 1.0 types in NewConstraintSystemImpl (vor 3 Tagen) <Dmitriy Novozhilov>
* 6914aba5c2 - [NI] Commonize detection of @OnlyInputTypes in NewConstraintSystemImpl (vor 3 Tagen) <Dmitriy Novozhilov>
* 64f0ee21c1 - Get rid of FE 1.0 classes usage in ConstraintIncorporator (vor 3 Tagen) <Dmitriy Novozhilov>
* 1050f7f066 - Extract PostponedResolvedAtomMarker to separate file (vor 3 Tagen) <Dmitriy Novozhilov>
* 1cadabb099 - Extract ResolutionCandidateApplicability to separate file (vor 3 Tagen) <Dmitriy Novozhilov>
* 775df6dfc3 - [NI] Get rid of FE 1.0 type usages in ResultTypeResolver (vor 3 Tagen) <Dmitriy Novozhilov>
* aae1681b76 - [NI] Get rid of ResolvedAtom usage in ConstraintSystemCompletionContext (vor 3 Tagen) <Dmitriy Novozhilov>
* 11e8552861 - [NI] Get rid of PostponedArgumentInputTypesResolver.Context (vor 3 Tagen) <Dmitriy Novozhilov>
* 970a2581a1 - [NI] Extract PostponedArgumentsAnalyzerContext from PostponedArgumentsAnalyzer (vor 3 Tagen) <Dmitriy Novozhilov>
* b15f847943 - [NI] Extract common parts from KotlinConstraintSystemCompleter (vor 3 Tagen) <Dmitriy Novozhilov>
* 12fbb93871 - [NI] Extract FE 1.0 specific part from NewCommonSuperTypeCalculator (vor 3 Tagen) <Dmitriy Novozhilov>
* b21a0213df - [NI] Get rid of FE 1.0 types in AbstractTypeApproximator (vor 3 Tagen) <Dmitriy Novozhilov>
* 527c5a771d - [NI] Get rid of FE 1.0 types in AbstractTypeCheckerContextForConstraintSystem (vor 3 Tagen) <Dmitriy Novozhilov>
* 686c17a234 - [NI] Rename `NewConstraintSystem.diagnostics` to `errors` (vor 3 Tagen) <Dmitriy Novozhilov>
* 59b2cb6393 - [NI] Split KotlinCallDiagnostics and inference errors to different hierarchies (vor 3 Tagen) <Dmitriy Novozhilov>
* fae21d4db3 - Introduce frontend independent constraint positions (vor 3 Tagen) <Dmitriy Novozhilov>
* e5e3d7cab1 - Extract FE 1.0 related parts from NewConstraintSystem (vor 3 Tagen) <Dmitriy Novozhilov>
* be1033a4a7 - [FIR] Implement ConeTypeContext.createTypeWithAlternativeForIntersectionResult (vor 3 Tagen) <Dmitriy Novozhilov>
* f247cc3165 - (tag: build-1.4.20-dev-4136) [NI] Properly detecting suitability of candidate for builder inference (vor 3 Tagen) <Dmitriy Novozhilov>
* b2d9e5be91 - (tag: build-1.4.20-dev-4133) [kotlinx-metadata-klib] Drop dependency on descriptors (vor 3 Tagen) <Sergey Bogolepov>
* 7170a23f63 - (tag: build-1.4.20-dev-4127) [FIR] Use coroutine intrinsics in tower resolver manager (vor 3 Tagen) <Simon Ogorodnik>
* 7cb5c0a6d8 - [FIR] Cleanup hides members condition (vor 3 Tagen) <Simon Ogorodnik>
* bf2e17b133 - [FIR] Extract invoke processing from TowerLevelHandler (vor 3 Tagen) <Simon Ogorodnik>
* 96f100381a - Use proper manifest for kotlin-reflect in jps build (vor 3 Tagen) <Simon Ogorodnik>
* 34f5cfbf96 - [FIR] Fix integer approximation on safe calls (vor 3 Tagen) <Simon Ogorodnik>
* 2a4e1a0b99 - [FIR] Clarify testData for invokes (vor 3 Tagen) <Simon Ogorodnik>
* 74c6d2b951 - (tag: build-1.4.20-dev-4125) Do not generate non-standard compareTo as primitive comparison in all backends (vor 4 Tagen) <Alexander Udalov>
* 9d81e50128 - (tag: build-1.4.20-dev-4118) IR: undeprecate IrUninitializedType (vor 4 Tagen) <Alexander Udalov>
* 5649cbc2e1 - (tag: build-1.4.20-dev-4117) Wire KotlinTypeRefiner in areCallableDescriptorsEquivalent (vor 4 Tagen) <Dmitry Savvinov>
* 421efaa565 - Add test for overload resoultion ambiguity in HMPP (vor 4 Tagen) <Dmitry Savvinov>
* 68d931969d - Minor: explicitly opt-in for diagnostics messages in MultiplatformAnalysisTests (vor 4 Tagen) <Dmitry Savvinov>
* 9cde42e2bc - (tag: build-1.4.20-dev-4106) [NI] Fix `shouldRunCompletion` for builder inference session (vor 4 Tagen) <Dmitriy Novozhilov>
* e98cbf81cf - [NI] Don't always complete builder inference lambda in FULL mode (vor 4 Tagen) <Dmitriy Novozhilov>
* 6a15e0410f - (tag: build-1.4.20-dev-4104) [FIR] Fix CLI tests to prevent non-relevant errors from appearing (vor 4 Tagen) <vldf>
* 6c2ece9a6e - Rename: FirSourceElement.getChildren() -> getChild() + minor fixes (vor 4 Tagen) <vldf>
* bf363e8f1a - [FIR] Update/add extended checker tests (vor 4 Tagen) <vldf>
* acbb67f851 - [FIR] Fix collectDataForNode backward traverse (vor 4 Tagen) <Oleg Ivanov>
* f9c7cce11d - [FIR] Add some helper functions for checkers (vor 4 Tagen) <vldf>
* 96f24a43be - [FIR] Introduce unused variable extended checker (vor 4 Tagen) <vldf>
* e718f60833 - [FIR] Refactoring extended checkers (vor 4 Tagen) <vldf>
* aefb7dc10f - [FIR] Add checkerContext parameter to ControlFlowAnalyserCheckers (vor 4 Tagen) <vldf>
* 14eaa113e0 - [FIR] Add new errors for extended checkers (around unused variable) (vor 4 Tagen) <vldf>
* 58c5d3a6ca - [FIR] Fix destructuring declaration creation via light tree (vor 4 Tagen) <vldf>
* 3428a5434b - [FIR] Add methods to access child/children of FirSourceElement (vor 4 Tagen) <vldf>
* 5e0dc53295 - [FIR] Refactor CanBeValChecker (vor 4 Tagen) <vldf>
* 5cf76aa950 - (tag: build-1.4.20-dev-4102) KT-41425 Project can not be launched with Gradle runner (vor 4 Tagen) <Andrei Klunnyi>
* f57f920dc0 - (tag: build-1.4.20-dev-4098, tag: build-1.4.20-dev-4090) Mark IdeReplExecutionTest.testOnePlusOne as flaky (vor 4 Tagen) <Nikolay Krasko>
* 866666f3ff - Update test data for MultiModuleHighlightingTest.testLanguageVersionsViaFacets (vor 4 Tagen) <Nikolay Krasko>
* 4b937f0929 - Mute stable CompilerDaemonTest.testParallelDaemonStart (vor 4 Tagen) <Nikolay Krasko>
* 0c0b394cc2 - (tag: build-1.4.20-dev-4089) [formatter] fix performance issue (vor 4 Tagen) <Dmitry Gridin>
* 9818321b46 - (tag: build-1.4.20-dev-4086) [JS, Wizard] Use react template in full stack (vor 4 Tagen) <Ilya Goncharov>
* cd0bdc190b - [JS, Wizard] Use IR in gradle.properties and otherwise use as a param (vor 4 Tagen) <Ilya Goncharov>
* 13bf15b403 - [JS, Wizard] Set js compiler per module (vor 4 Tagen) <Ilya Goncharov>
* f824f03fa2 - Wizard: fix filtering values in DropDownComponent (vor 4 Tagen) <Ilya Kirillov>
* 98f98d5856 - [JS, Wizard] Add different compilers for JS wizard (vor 4 Tagen) <Ilya Goncharov>
* c797f3044e - [JS, Wizard] Add react template plugin (vor 4 Tagen) <Ilya Goncharov>
* 220ff6c648 - [JS, Wizard] Add redux and react router (vor 4 Tagen) <Ilya Goncharov>
* d5340803bd - [JS, Wizard] Add react application template (vor 4 Tagen) <Ilya Goncharov>
* 01064a4e46 - [JS, Wizard] Add react application template (vor 4 Tagen) <Ilya Goncharov>
* 96e1b1c0e0 - [JS, Wizard] Separate browser application without react (vor 4 Tagen) <Ilya Goncharov>
* 491eb5e366 - [JS, Wizard] Move subtarget settings in separate object (vor 4 Tagen) <Ilya Goncharov>
* 94f8a78893 - [JS, Wizard] Fix source set name for js wizard (vor 4 Tagen) <Ilya Goncharov>
* cba13c3c35 - (tag: build-1.4.20-dev-4079) Take into account captured types with variables during fixation (vor 4 Tagen) <Mikhail Zarechenskiy>
* 5dbb6fdf50 - (tag: build-1.4.20-dev-4076) [inspections] NamingConversion: add missing space in description (vor 4 Tagen) <Dmitry Gridin>
* e12c35de5f - (tag: build-1.4.20-dev-4063) Traverse all pages of muted tests on Teamcity (KTI-326) (vor 5 Tagen) <Yunir Salimzyanov>
* 06a592c018 - (tag: build-1.4.20-dev-4062) Fix SOE when recursive type argument is used with star projection (vor 5 Tagen) <Mikhail Zarechenskiy>
* 674e9e455f - Fold lower constraints like (T!!..T) and (T..T?) into the latter one (vor 5 Tagen) <Mikhail Zarechenskiy>
* e91b378b7d - Don't perform unnecessary SAM conversions (vor 5 Tagen) <Mikhail Zarechenskiy>
* 6a7ed96be5 - Consider T <: Nothing! as trivial during constraint incorporation (vor 5 Tagen) <Mikhail Zarechenskiy>
* 567e6ca9ca - Fix OOM when there are several lambdas with extension function types (vor 5 Tagen) <Mikhail Zarechenskiy>
* 085e0dc1de - (tag: build-1.4.20-dev-4056) FIR2IR: allow array expression as named argument for vararg (vor 5 Tagen) <Jinseong Jeon>
* 54d3c5fb0a - (tag: build-1.4.20-dev-4055, tag: build-1.4.20-dev-4052, tag: build-1.4.20-dev-4051) Pick up script language level from used stdlib in a gradle's classpath (vor 5 Tagen) <Vladimir Dolzhenko>
* 949c67078d - (tag: build-1.4.20-dev-4043) NJ2K: fix testdata of MultiFileTestGenerated.testNullabilityByDFa (vor 5 Tagen) <Ilya Kirillov>
* c8ab827fa0 - Wizard: fix invalid path in generated buildscript on windows (vor 5 Tagen) <Ilya Kirillov>
* c93ae64546 - Uast: `KotlinClassViaConstructorUSimpleReferenceExpression` resolve to `PsiClass` (KT-41290) (vor 5 Tagen) <Nicolay Mitropolsky>
* 99924ea5e4 - Fix Typo: equals() & hashCode(), toString() are written with the first uppercase letter (vor 5 Tagen) <Vladimir Dolzhenko>
* 553ae68c96 - (tag: build-1.4.20-dev-4035) FIR2IR: convert adapted callable reference with vararg (vor 5 Tagen) <Jinseong Jeon>
* 48034092e9 - (tag: build-1.4.20-dev-4026, tag: build-1.4.20-dev-4023) Fix SOE on library source based lightclass lookup (vor 5 Tagen) <Igor Yakovlev>
* 99286a6ce3 - (tag: build-1.4.20-dev-4020) FIR2IR: introduce & use ClassId-based lookup for local class as IrParent (vor 5 Tagen) <Jinseong Jeon>
* 777b16e0a3 - (tag: build-1.4.20-dev-4013) Fix @Language injection when using named parameters (vor 6 Tagen) <Aurimas Liutikas>
* a9ddf02556 - (tag: build-1.4.20-dev-4011) Replace deprecated usages of max/min with maxOrNull/minOrNull (vor 6 Tagen) <Alexander Udalov>
* 81dda96ece - (tag: build-1.4.20-dev-4010) Mute flaky KotlinFindUsagesWithLibraryTestGenerated.KotlinLibrary (vor 6 Tagen) <Nikolay Krasko>
* 3a1158b4ef - Minor: move mute KotlinFindUsagesWithLibraryTestGenerated to common (vor 6 Tagen) <Nikolay Krasko>
* 125819f9bf - Mute flaky testUsingReadOnlyInterfaces test (vor 6 Tagen) <Nikolay Krasko>
* 1928390121 - Prevent flaky behaviour from MakeOverriddenMemberOpenFix in tests (vor 6 Tagen) <Nikolay Krasko>
* 5702fb3b22 - (tag: build-1.4.20-dev-4002) FIR: fix CCE in AttributeArrayOwner (vor 6 Tagen) <Mikhail Glukhikh>
* 962059a878 - Introduce FirProperty.hasBackingField & use it in FIR2IR (vor 6 Tagen) <Mikhail Glukhikh>
* c6417696cf - FirProperty: return back 'isReferredViaField' attribute (vor 6 Tagen) <Mikhail Glukhikh>
* 3e9ac75cfc - FIR: record use of backing field symbol to indeed add a backing field (vor 6 Tagen) <Jinseong Jeon>
* 0cc3762f9a - (tag: build-1.4.20-dev-3993) Build: Fix kotlinx-metadata-klib publication (vor 6 Tagen) <Vyacheslav Gerasimov>
* 36f2f1fcf7 - (tag: build-1.4.20-dev-3992) [FIR] Add lightTree support to extended checkers + minor refactorings (vor 6 Tagen) <vldf>
* da702992d9 - [FIR] Fix null source on destructuring declaration (vor 6 Tagen) <vldf>
* 30d24ed943 - (tag: build-1.4.20-dev-3986) Tests, Gradle: Fix broken test for KT-40834 (vor 6 Tagen) <Ilya Matveev>
* 920f1184bd - Revert "Revert "CocoaPods: Skip synthetic task on non-mac hosts"" (vor 6 Tagen) <Ilya Matveev>
* fd9bfe44f1 - (tag: build-1.4.20-dev-3985) [FIR] Visit class annotations without the class's scope (vor 6 Tagen) <Nick>
* 3cad88a58c - (tag: build-1.4.20-dev-3979) [FIR] Fir Helpers hotfix (vor 6 Tagen) <vldf>
* 0d6b363179 - [FIR] Refactoring for extended checkers (vor 10 Tagen) <vldf>
* e2016499f3 - [FIR] Fixed CFA bug (vor 10 Tagen) <vldf>
* ac07438489 - [FIR] Speed up CFA-checkers (vor 10 Tagen) <vldf>
* 638a0d3b82 - [FIR] Checkers performance improvement and some refactoring (vor 10 Tagen) <vldf>
* d86c81cb38 - (tag: build-1.4.20-dev-3975) [JS, Gradle] Fix test on overflow, now throw exception on overflow (vor 6 Tagen) <Ilya Goncharov>
* 8b4e8a2c0c - (tag: build-1.4.20-dev-3972) Diagnostics: add diagnostic for reporting contract description blocks in old frontend (vor 6 Tagen) <Arsen Nagdalian>
* 80d7f6b688 - Ignore the "contract" keyword in code completion (vor 6 Tagen) <Arsen Nagdalian>
* ede1c08a9b - [FIR] Add resolution of contracts that are written using the new syntax (vor 6 Tagen) <Arsen Nagdalian>
* b8b60864fd - [FIR] Add contracts tests and place them in a separate directory (vor 6 Tagen) <Arsen Nagdalian>
* 86e07cd626 - Parser tests: move the contract description blocks tests to a separate folder and add a test for property accessors' contracts (vor 6 Tagen) <Arsen Nagdalian>
* 66f7250380 - [FIR] Add contract description blocks support to "lightTree2FIR" conversion (vor 6 Tagen) <Arsen Nagdalian>
* 9fd104eec8 - [FIR] Add contract description blocks support to RawFirBuilder (vor 6 Tagen) <Arsen Nagdalian>
* d53f3b9ba8 - [PSI] Add some useful getters to psi nodes (vor 6 Tagen) <Arsen Nagdalian>
* a936c6331a - [Parser] Add getters' and setters' contracts parsing (vor 6 Tagen) <Arsen Nagdalian>
* 6c06008b4d - [FIR] Add a class representing the old syntax contract description in order to use the previous class for the new syntax (vor 6 Tagen) <Arsen Nagdalian>
* b83aa88eff - [FIR] Add function for getting ConeEffectDeclaration from FirEffectDeclaration and use it where needed (vor 6 Tagen) <Arsen Nagdalian>
* 991b18fec4 - [FIR] Add a Fir node that wraps a ConeEffectDeclaration (vor 6 Tagen) <Arsen Nagdalian>
* 32a64b888e - [Parser] Add parsing of function's contract either before or after type constraints (vor 6 Tagen) <Arsen Nagdalian>
* 1b57889773 - Clean the code (vor 6 Tagen) <Arsen Nagdalian>
* f781a9993b - Parser tests: add tests for contract description blocks (vor 6 Tagen) <Arsen Nagdalian>
* 2e9a898f45 - [Parser] Move function's contracts parsing in before type constraints parsing (vor 6 Tagen) <Arsen Nagdalian>
* 0990434840 - [Parser] Modify parser so that it could parse contract description blocks of functions (vor 6 Tagen) <Arsen Nagdalian>
* e3fe9c3314 - [PSI] Add new Psi nodes representing contract effects list and each individual contract effect in the list (vor 6 Tagen) <Arsen Nagdalian>
* 4b7d34b537 - Add "contract" keyword (vor 6 Tagen) <Arsen Nagdalian>
* 316e0e6609 - (tag: build-1.4.20-dev-3966) [FIR] Update testdata (vor 6 Tagen) <Dmitriy Novozhilov>
* 3ccb72bb1a - (tag: build-1.4.20-dev-3964) Shadow :core:compiler.common inside kotlinx.metadata (vor 6 Tagen) <Dmitriy Novozhilov>
* 811a2206a5 - Fix usages of KotlinBuiltIns after rebase (vor 6 Tagen) <Dmitriy Novozhilov>
* bc1b6d3588 - Rename `:core:descriptors.common` to `:core:compiler.common` (vor 6 Tagen) <Dmitriy Novozhilov>
* 864cf21f03 - Merge :core:type-system into :core:descriptors.common (vor 6 Tagen) <Dmitriy Novozhilov>
* 5fa80a2f8c - Merge :core:deserialization:deserialization.common into :core:descriptors.common (vor 6 Tagen) <Dmitriy Novozhilov>
* bbac270b33 - Move OperatorNameConventions to :core.descriptors.common (vor 6 Tagen) <Dmitriy Novozhilov>
* 2760a187a9 - Move FunctionClassKind utils to :core.descriptors.common (vor 6 Tagen) <Dmitriy Novozhilov>
* 2285d3e3cf - Move Variance and AnnotationUseSiteTarget to :core.descriptors.common (vor 6 Tagen) <Dmitriy Novozhilov>
* 167f18b738 - Move SourceElement and SourceFile to :deserialization.common (vor 6 Tagen) <Dmitriy Novozhilov>
* a764732020 - Rename `KotlinBuiltInsNames` to `StandardNames` (vor 6 Tagen) <Dmitriy Novozhilov>
* d032fdfc44 - [FIR] Cleanup dependencies in :compiler:fir:raw-fir modules (vor 6 Tagen) <Dmitriy Novozhilov>
* b6fd6c3a84 - [FIR] Remove dependency on descriptors from :compiler:fir:raw-fir.raw-fir.common module (vor 6 Tagen) <Dmitriy Novozhilov>
* 71a517c686 - [FIR] Rename :compiler:fir:raw-fir:fir-common to :compiler:fir:raw-fir:raw-fir.common (vor 6 Tagen) <Dmitriy Novozhilov>
* 7d4349edc2 - [FIR] Remove dependency on descriptors from :compiler:fir:tree module (vor 6 Tagen) <Dmitriy Novozhilov>
* 95346f834b - [FIR] Fix forgotten dependency to contracts of FE 1.0 (vor 6 Tagen) <Dmitriy Novozhilov>
* 73ace6d161 - Remove dependency to descriptors from :compiler:config module (vor 6 Tagen) <Dmitriy Novozhilov>
* 82a9b1492b - Move RenderingUtils to :core:descriptors.common module (vor 6 Tagen) <Dmitriy Novozhilov>
* ba6b1c37d0 - Move TargetPlatform to :core:descriptors.common module (vor 6 Tagen) <Dmitriy Novozhilov>
* d6d2be8e58 - Move incremental components to :core:descriptors.common module (vor 6 Tagen) <Dmitriy Novozhilov>
* 3a48265077 - Move ModuleDescriptor.Capability to :core:descriptors.common module (vor 6 Tagen) <Dmitriy Novozhilov>
* 6f0cd14afa - Move common classes to new :core:deserialization:deserialization.common module (vor 6 Tagen) <Dmitriy Novozhilov>
* 079a2dfe1e - Move EventOccurrencesRange class to :core:descriptors.common module (vor 6 Tagen) <Dmitriy Novozhilov>
* f7f489537b - [FIR] Remove dependency on :core:descriptors from :compiler:fir:tree (vor 6 Tagen) <Dmitriy Novozhilov>
* e92caae609 - [FIR] Remove dependency on :core:descriptors from :compiler:fir:cones (vor 6 Tagen) <Dmitriy Novozhilov>
* 45cf221b97 - Move util functions from KotlinBuiltIns to :core:descriptors.common module (vor 6 Tagen) <Dmitriy Novozhilov>
* 20a2ad8223 - Move FunctionClassDescriptor.Kind to :core:descriptors.common module (vor 6 Tagen) <Dmitriy Novozhilov>
* 7a7fe77b8e - Move static constants with builtin names to :core:descriptors.common module (vor 6 Tagen) <Dmitriy Novozhilov>
* 2e92fe9be9 - [FIR2IR] Add fir2ir component for converting fir visibility to FE 1.0 (vor 6 Tagen) <Dmitriy Novozhilov>
* a02109d857 - [FIR] Add `FirVisibilityChecker` session component (vor 6 Tagen) <Dmitriy Novozhilov>
* 18ae593700 - [FIR] Rename new visibilities to CamelCase (vor 6 Tagen) <Dmitriy Novozhilov>
* 43821b681c - [FIR] Introduce new `Visibility` class which not depends on descriptors (vor 6 Tagen) <Dmitriy Novozhilov>
* 9d9f9c52c0 - Extract some classes from descriptors module to `:core:common` (vor 6 Tagen) <Dmitriy Novozhilov>
* 41ba9b0a2d - [FIR] Add flag to disable transformers required only for plugins (vor 6 Tagen) <Dmitriy Novozhilov>
* 53ad502d2a - (tag: build-1.4.20-dev-3963, tag: build-1.4.20-dev-3960, tag: build-1.4.20-dev-3959) [FIR2IR] Generate fake overrides earlier and bind them later (vor 6 Tagen) <Mikhail Glukhikh>
* ee9c597767 - (tag: build-1.4.20-dev-3947) Build: Remove exclusion of kotlinx-coroutines-core in scripting-compiler (vor 7 Tagen) <Ilya Chernikov>
* 741f5de0f9 - (tag: build-1.4.20-dev-3942, tag: build-1.4.20-dev-3939) Clean PSI elements in KotlinExpressionMover (vor 7 Tagen) <Nikolay Krasko>
* 18195b3296 - Rewrite SmartCompletionMultifileHandlerTest to KotlinFixtureCompletionBaseTestCase (vor 7 Tagen) <Nikolay Krasko>
* e95c3e2905 - Rewrite CompletionMultiFileHandlerTest to KotlinFixtureCompletionBaseTestCase (vor 7 Tagen) <Nikolay Krasko>
* f92083989a - [JS, Wizard] Fix build integrity (vor 7 Tagen) <Ilya Goncharov>
* 6040491373 - (tag: build-1.4.20-dev-3938) Revert "CocoaPods: Skip synthetic task on non-mac hosts" (vor 7 Tagen) <Nikolay Krasko>
* 621c87ee84 - (tag: build-1.4.20-dev-3936) Overflowed teamcity messages should failed build (vor 7 Tagen) <Ilya Goncharov>
* e7b12b9bb1 - (tag: build-1.4.20-dev-3932, tag: build-1.4.20-dev-3931) [FIR] Fix false positive SUPER_NOT_AVAILABLE (vor 7 Tagen) <Nick>
* a2dabe11c5 - (tag: build-1.4.20-dev-3930, tag: build-1.4.20-dev-3927, tag: build-1.4.20-dev-3925) JVM KT-41150: Fix backward compatibility for inline vals in inline class (vor 7 Tagen) <Dmitry Petrov>
* 27a22fc1e9 - (tag: build-1.4.20-dev-3924) Cleanup Coroutine panel in case connection gets disposed soon after (vor 7 Tagen) <Vladimir Ilmov>
* cb2ab4676b - (CoroutineDebugger) Top node added to prevent dumpCoroutine() call (vor 7 Tagen) <Vladimir Ilmov>
* fa45650fd0 - (tag: build-1.4.20-dev-3923) JVM IR: specialize ExpressionCodegen.visitFunctionAccess for constructors (vor 7 Tagen) <Alexander Udalov>
* f9bd935ac6 - (tag: build-1.4.20-dev-3921) Wizard: fix missing module templates (vor 7 Tagen) <Ilya Kirillov>
* 5a91dd0439 - (tag: build-1.4.20-dev-3919) Update main wizard tests (vor 7 Tagen) <Kirill Shmakov>
* 147a8c357d - Wizard: switch androidx.core -> android.material (vor 7 Tagen) <Kirill Shmakov>
* 57e9e9a2a1 - Wizard: add android.useAndroidX property (vor 7 Tagen) <Kirill Shmakov>
* 9e88d61be4 - Wizard: switch android:allowBackup (vor 7 Tagen) <Kirill Shmakov>
* 94ae839d2c - Wizard: update Android Appcompat version (vor 7 Tagen) <Kirill Shmakov>
* 06f9a4e228 - Wizard: update Android Gradle plugin version (vor 7 Tagen) <Kirill Shmakov>
* a095909d5c - (tag: build-1.4.20-dev-3918) [Plugin API] Provide special context in EP for link-time resolve (vor 7 Tagen) <Roman Artemev>
* ea98062241 - (tag: build-1.4.20-dev-3917) JVM IR: Fix compilation of inline functions in  anonymous objects... (vor 7 Tagen) <Steven Schäfer>
* ce02982226 - (tag: build-1.4.20-dev-3915) CocoaPods: Skip synthetic task on non-mac hosts (vor 7 Tagen) <Ilya Matveev>
* b10cc6657e - (tag: build-1.4.20-dev-3914) Fix loading of builtins resources in kotlin-reflect in Java modular mode (vor 7 Tagen) <Alexander Udalov>
* 201fa849b8 - Workaround problem with log4j warnings in CLI tests (vor 7 Tagen) <Alexander Udalov>
* 05cfb654ba - (tag: build-1.4.20-dev-3904) [FIR] Fix removeAtInt test (vor 7 Tagen) <Nick>
* 2b983b1c20 - (tag: build-1.4.20-dev-3902) Mute flaky JavaAgainstKotlinBinariesCheckerTestGenerated.testEnumStaticImportInJava (vor 7 Tagen) <Nikolay Krasko>
* 2d8643b6ef - (tag: build-1.4.20-dev-3901) [Gradle, JS] Add nowarn flag for kotlin2js (vor 7 Tagen) <Ilya Goncharov>
2020-08-31 19:37:35 +02:00
Steven Schäfer 78ab957bfe JVM IR: Fix mangling for suspend functions with inline class params (KT-41374) 2020-08-31 18:43:29 +02:00
Igor Yakovlev 48a3d4b8e0 [ULC] Add recursion guard to getLightClass
Fixed KT-41325
2020-08-31 18:01:37 +03:00
Pavel Kirpichenkov 873224dfbc [NI] Use new type substitutor for known type parameters
Use known type parameters substitutor after substitutor for fresh variables.
The old logic of substituions had the following order:
- replace known type parameters
- replace type parameters with type variables
- complete inference
- replace type variables with inferred types

According to the updated logic, replacement goes as follows:
- replace type parameters with type variables
- replace known type parameters; if they were variables, this will effectively remove them from inference
- complete inference
- replace remaining type variables with inferred types

Support projection substitution in new type substitutor.
It is needed for correct interaction with old type substitutor.
Old type substitutors can contain mappings constructor -> projection
which couldn't be expressed correctly with existing substitutor API in some cases.

^KT-41386 Fixed
2020-08-31 17:53:46 +03:00
Alexander Udalov c706673de9 Minor, refactor bytecode text tests on when-over-string optimization
- Merge `duplicatingItemsSameHashCode.kt` and
  `duplicatingItemsSameHashCode2.kt` into one test enabled on both
  backends, and rename it to
  `duplicatingItemsSameHashCodeFewBranches.kt`.
- Rename `duplicatingItemsSameHashCode3.kt` to
  `duplicatingItemsSameHashCodeMoreBranches.kt`, and also enable it for
  both backends.
- Use JVM_TEMPLATES/JVM_IR_TEMPLATES to check backend-specific behavior:
    1) JVM IR does not optimize less than 2 branches by design
    2) JVM IR does not generate duplicate branches, also by design

Related to KT-36846.
2020-08-31 16:47:11 +02:00
Alexander Udalov a639915a34 JVM IR: do not mangle property accessors of unsigned types in annotations
Before this change, we incorrectly mangled the names of annotation
methods (e.g. `getI-pVg5ArA` instead of `i`) because the isSpecial
condition was false.
2020-08-31 14:19:14 +02:00
Mikhail Glukhikh 1e360d9c91 [FIR2IR] Pass type context for type argument conversion properly 2020-08-31 14:31:58 +03:00
Jinseong Jeon 04af6846a7 FIR2IR: handle more vararg spreads for adapted callable references 2020-08-31 14:31:58 +03:00
Mikhail Glukhikh 5efabe063e [FIR] Fix JVM mapped function callable id 2020-08-31 14:31:57 +03:00
Mikhail Glukhikh db815c96c5 [FIR] Substitute copied type parameters in fake override properties 2020-08-31 14:31:57 +03:00