Commit Graph

93183 Commits

Author SHA1 Message Date
Igor Yakovlev bf575f73a2 [WASM] Fix invalid fields name section emit 2022-06-18 19:12:21 +02:00
Victor Petukhov eb19d39cbf [FE 1.0] Build captured type's supertypes in an alternative way: use own projection type as a first supertype, then supertypes from the corresponding type parameter's upper bounds
The original case provoked forking a constraint system which isn't supported in K1 (K2 only). If the captured type is recursive, then type parameter's upper bounds may break subtyping due to substitution the current captured type again, into a recursive type parameter.

Note that we already have special logic for recursive captured types. See `isTypeVariableAgainstStarProjectionForSelfType`.

^KT-52782 Fixed
2022-06-18 14:04:40 +02:00
Ivan Kochurkin 37ccd85e59 [FIR] Use coneType instead of coneTypeSafe<ConeKotlinType> in checkers and fir2ir 2022-06-17 23:26:21 +00:00
Ivan Kochurkin 02ac6110bd [FIR] Handle more cases of implicit types in FirNoImplicitTypesHandler 2022-06-17 23:26:21 +00:00
Ivan Kochurkin 157eedca43 [FIR2IR] Create IrConst instead of IrGetField for default value param in annotation class, ^KT-52676 Fixed 2022-06-17 23:26:20 +00:00
Ivan Kochurkin ca222b9c31 [FIR] Create error type for FirErrorLoop during initialization 2022-06-17 23:26:20 +00:00
Ivan Kochurkin 1a398e89ec [FIR] Add attributes to ConeErrorType for correct annotations resolving 2022-06-17 23:26:19 +00:00
Ivan Kochurkin 9c67a4bc27 [FIR] Remove not used ConeArgumentTypeMismatchCandidateError 2022-06-17 23:26:19 +00:00
Ivan Kochurkin c3638d2219 [FIR] Remove not used ConeUnsupportedDynamicType 2022-06-17 23:26:19 +00:00
Ivan Kochurkin ffbb23661d [FIR] Report UNSUPPORTED for default value in function type 2022-06-17 23:26:18 +00:00
Ivan Kochurkin a3647bb4ff [FIR] FirRenderer: render annotations for block and resolvedQualifier 2022-06-17 23:26:18 +00:00
Ivan Kochurkin fd2b4fd497 [FIR] Fix false positive USELESS_CAST on stub types, ^KT-50293 Fixed 2022-06-17 23:26:18 +00:00
Ivan Kochurkin 856d14e5f7 [FIR] Don't create unwanted "Should have initializer" elements 2022-06-17 23:26:17 +00:00
Ivan Kochurkin 9d6f88469a [FIR] Use @file:Suppress("DuplicatedCode") for generated fir impl nodes
Get rid of unwanted warnings in IntelliJ
2022-06-17 23:26:17 +00:00
Ivan Kochurkin 0c543d65f3 [FIR] Remove not used FirRedundantLabelChecker 2022-06-17 23:26:17 +00:00
Ivan Kochurkin 9f69ea1786 [FIR] Add TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM diagnostics, ^KT-52327 Fixed 2022-06-17 23:26:16 +00:00
Ivan Kochurkin c5648fd449 [FIR] Pass annotations to buildResolvedQualifierForClass 2022-06-17 23:26:16 +00:00
Ivan Kochurkin 1ac4d68433 [FIR] Initialize annotations for block for LightTree 2022-06-17 23:26:16 +00:00
Ivan Kochurkin 34b5ce21a1 [FIR] Fix WRONG_ANNOTATION_TARGET for annotation for block, ^KT-52175 Fixed 2022-06-17 23:26:15 +00:00
Ivan Kochurkin b573532d8c Introduce COMPONENT_FUNCTION_NAME_PREFIX constant 2022-06-17 23:26:15 +00:00
sebastian.sellmair 600b0d7b81 [kpm] kgp-idea-proto: Remove protobuf types from public API surface
^KT-52568 Verification Pending
2022-06-17 22:27:15 +00:00
sebastian.sellmair 443faec30d [kpm] kgp-idea-proto: Create special binaryValidationApiElements configuration
This will be a 'lean' jar file (un-shadowed), which can later
be used by the binary-compatibility-validator to test the
API surface against.

^KT-52568 Verification Pending
2022-06-17 22:27:14 +00:00
sebastian.sellmair 514ea01175 [kpm] Embed protobuf runtime into kgp-idea-proto runtime jar
^KT-52568 Verification Pending
2022-06-17 22:27:13 +00:00
sebastian.sellmair 0eb4551e94 [kpm] kgp-idea: Update testedVersion to "1.7.20-dev-2127"
^KT-52568 Verification Pending
2022-06-17 22:27:12 +00:00
sebastian.sellmair 5caa5c5ab2 [kpm] kgp-idea: Skip unpublishable variants for testFixtures publication
^KT-52568 Verification Pending
2022-06-17 22:27:11 +00:00
sebastian.sellmair d8ac6357a6 [kpm] IdeaKpmProtoSchema: Include message severity for future messages
^KT-52568 Verification Pending
2022-06-17 22:27:11 +00:00
sebastian.sellmair 12b6d32e73 [kpm] kotlin-tooling-core: Move Type into Extras.Type
^KT-52568 Verification Pending
2022-06-17 22:27:10 +00:00
sebastian.sellmair 08bb163021 [kpm] Update kotlin-gradle-plugin-idea API reference
^KT-52568 Verification Pending
2022-06-17 22:27:09 +00:00
sebastian.sellmair 92713bdcb3 [kpm] IdeaKpmContentRoot: Rename SOURCE_TYPE -> SOURCES_TYPE & RESOURCE_TYPE -> RESOURCES_TYPE
^KT-52568 Verification Pending
2022-06-17 22:27:08 +00:00
sebastian.sellmair 70df08c678 [kpm] Rename IdeaKpmSourceDirectory to IdeaKpmContentRoot
^KT-52568 Verification Pending
2022-06-17 22:27:08 +00:00
sebastian.sellmair 19399a60d9 [kpm] Add :kotlin-gradle-plugin-proto to the'kotlinGradlePluginAndItsRequired' array
^KT-52568 Verification Pending
2022-06-17 22:27:07 +00:00
sebastian.sellmair fc3da93625 [kpm] IdeaKpmProjectContainer: Add documentation
^KT-52568 Verification Pending
2022-06-17 22:27:06 +00:00
sebastian.sellmair 0b7c1f42f6 [kpm] IdeaKpmBuildProjectModelTask: Change outputDirectory to IdeaKpmProject
^KT-52568 Verification Pending
2022-06-17 22:27:06 +00:00
sebastian.sellmair 2f6a8551ac [kpm] IdeaKpmBuildProjectModelTask: Add comment to signal that this is an internal task
^KT-52568 Verification Pending
2022-06-17 22:27:05 +00:00
sebastian.sellmair a12c938100 [kpm] Minimize kgp-proto's API surface and add binary compatibility tests
^KT-52568 Verification Pending
2022-06-17 22:27:04 +00:00
sebastian.sellmair 82ab65e689 [kpm] Update public api reference for kotlin-gradle-plugin-idea & kotlin-tooling-core
^KT-52568 Verification Pending
2022-06-17 22:27:04 +00:00
sebastian.sellmair 20d23f7228 [kpm] kgp-kpm-android: Register serialization extension for AndroidDsl
^KT-52568 In Progress
2022-06-17 22:27:03 +00:00
sebastian.sellmair 1034e47a2a [kpm] kgp: functionalTest: Use new kgp-idea testFixtures
^KT-52568 In Progress
2022-06-17 22:27:02 +00:00
sebastian.sellmair 05e3919075 [kpm] kgp-idea: Refactor BackwardsCompatibilityDeserializationTest to run with protobufs
^KT-52568 In Progress
2022-06-17 22:27:02 +00:00
sebastian.sellmair c48ac0cfc1 [kpm] kgp-idea: Implement IdeaKpmProjectBackwardsCompatibilityDeserializationTest
^KT-52568 In Progress
2022-06-17 22:27:01 +00:00
sebastian.sellmair f52b4550d8 [kpm] kgp-idea: Implement CompatibilityTestUtil.kt
^KT-52568 In Progress
2022-06-17 22:27:00 +00:00
sebastian.sellmair faaec4689a [kpm] kgp-idea: Implement IdeaKpmJavaIoSerializableExtrasSerializerTest
^KT-52568 In Progress
2022-06-17 22:26:59 +00:00
sebastian.sellmair b57f5f2742 [kpm] kgp-idea: Implement serialization test fixtures
^KT-52568 In Progress
2022-06-17 22:26:59 +00:00
sebastian.sellmair ca45200e68 [kpm] kgp-idea: Implement TestIdeaKpmInstances
To share some simple objects for testing

^KT-52568 In Progress
2022-06-17 22:26:58 +00:00
sebastian.sellmair d73d36ef2c [kpm] kgp-idea: Refactor testFixtures
- Consistently prefix entities with 'TestIdeaKpm'

^KT-52568 In Progress
2022-06-17 22:26:57 +00:00
sebastian.sellmair 01a4045c04 [kpm] Implement generic 'kotlin.debug' extra
^KT-52568 In Progress
2022-06-17 22:26:57 +00:00
sebastian.sellmair da288d926b [kpm] Adapt ideaKpmFragmentBuilder.kt for new IdeaKpmSourceDirectory design
^KT-52568 In Progress
2022-06-17 22:26:56 +00:00
sebastian.sellmair a380d15828 [kpm] IdeaKpmBuildProjectModelTask: Add protobuf binary and measure times
This task is still just used for troubleshooting and debugging.
It does not serve any real production use-case

^KT-52568 In Progress
2022-06-17 22:26:55 +00:00
sebastian.sellmair 2d04d4f06e [kpm] kgp: Integrate IdeaKpm.* protobuf serialization into IdeaKpmProjectModelBuilder
- Rename IdeaKpmProjectModelBuildingContext to IdeaKpmProjectBuildingContext
- Support building IdeaKpmProjectContainer
- Implement IdeaKpmSerializationContext on Gradle side

^KT-52568 In Progress
2022-06-17 22:26:54 +00:00
sebastian.sellmair 2a5457f59d [kpm] kgp-idea-proto: Implement simple serialization tests
^KT-52568 In Progress
2022-06-17 22:26:54 +00:00