Commit Graph

331 Commits

Author SHA1 Message Date
sebastian.sellmair 1a0d8f777c [KPM] Remove IdeaKotlinModuleIdentifier in favor of consistent IdeaKotlinFragmentCoordinates
KT-51386
2022-03-17 15:39:54 +00:00
sebastian.sellmair e1ead6b8bf [KPM] Integrate refines dependencies into IdeaKotlinSourceDependency
KT-51386
2022-03-17 15:39:53 +00:00
sebastian.sellmair 0f8f61c373 [KPM] Introduce separate IdeaKotlinDependencyCoordinates entity
This splits IdeaKotlinSourceCoordinates from the actual
IdeaKotlinSourceDependency

KT-51386
2022-03-17 15:39:52 +00:00
sebastian.sellmair d7ce7387f7 [KPM] Implement SimpleProjectToProjectDependencyResolutionTest
KT-51386
2022-03-17 15:39:49 +00:00
sebastian.sellmair a5a68543c2 [KPM] Update kotlin-gradle-plugin-idea.txt API reference
KT-51386
2022-03-17 15:39:48 +00:00
sebastian.sellmair c2ab23ed70 kotlin-tooling-core: Update api reference 2022-03-09 13:17:08 +00:00
sebastian.sellmair 6a96b6ec3f kotlin-tooling-core: Setup binary compatibility tests 2022-03-09 13:17:07 +00:00
sebastian.sellmair 522915b6dc [KPM] kotlin-gradle-plugin-idea: Remove deepCopy functions
KT-51262
KT-51220
2022-02-17 20:19:30 +00:00
sebastian.sellmair c56bf6b0e3 [KPM] IdeaKotlinFragment: Add moduleIdentifier
KT-51262
KT-51220
2022-02-17 20:19:29 +00:00
sebastian.sellmair 05259ddfa1 [KPM] Move Idea* models to Set/List over Collection
KT-51262
KT-51220
2022-02-17 20:19:28 +00:00
sebastian.sellmair 11d408f71e [KPM] Implement IdeaKotlinVariant
KT-51262
KT-51220
2022-02-17 20:19:27 +00:00
sebastian.sellmair 851303e62a [KPM] Make KotlinSerializableExternalModelSerializer private
KT-51262
KT-51220
2022-02-17 20:19:27 +00:00
sebastian.sellmair 37ea991978 [KPM] Update kotlin-gradle-plugin-idea API reference
KT-51262
KT-51220
2022-02-17 20:19:22 +00:00
sebastian.sellmair 45d8ec4ad3 [KPM] kotlin-gradle-plugin-idea: Update api reference
KT-51262
KT-51220
2022-02-17 20:19:21 +00:00
sebastian.sellmair c88e122e94 [KPM] kotlin-gradle-plugin-idea: Update api reference
KT-51262
KT-51220
2022-02-17 20:19:19 +00:00
sebastian.sellmair 8f0b51dc14 [KPM] Update kotlin-gradle-plugin-idea API reference
KT-51262
KT-51220
2022-02-17 20:19:17 +00:00
sebastian.sellmair 627cb0be3a [KPM] Exclude 'InternalKotlinGradlePluginApi' apis from binary validation
^KT-51262
2022-02-17 20:19:14 +00:00
sebastian.sellmair 4294b4f20d [KPM] Add public API snapshot for :kotlin-gradle-plugin-idea
^KT-51262
2022-02-17 20:19:13 +00:00
Mikhael Bogdanov ea58c858d1 JvmDefault. Support @JvmDefaultWithCompatibility annotation
#KT-48217 Fixed
2021-12-06 14:20:24 +01:00
Dmitry Petrov d5da130d4b KT-47939 FunInterfaceConstructorReference 2021-12-02 20:28:06 +03:00
Anastasiya Shadrina e3f987459c [PSI, FE] Support functional types 2021-12-02 20:24:11 +03:00
Georgy Bronnikov 41e38d5a1a JVM_IR: move serialized IR to a separate annotation 2021-10-02 00:56:46 +03:00
Ilya Gorbunov 04d70162d2 Make DurationUnit not a typealias of TimeUnit on JVM
Provide conversion functions between DurationUnit and TimeUnit
2021-09-30 14:31:54 +00:00
Ilya Gorbunov af5ec9d289 Fix a typo in Typography object constants KT-46243 2021-09-27 14:55:19 +00:00
Abduqodiri Qurbonzoda 7e1cd757fb Advance max/min(By/With) deprecation level to HIDDEN #KT-38854 2021-09-16 19:38:35 +03:00
Abduqodiri Qurbonzoda 91aa956f34 Introduce JVM readln() and readlnOrNull() top-level functions #KT-48456 2021-09-02 01:00:34 +00:00
Alexander Udalov 6c400ce864 Build: update kotlinLanguageVersion to 1.6
Update binary-compatibility-validator dependency to 0.7.1 to allow it to
read Kotlin metadata of version 1.6.

 #KT-48445
2021-08-30 19:36:32 +02:00
Alexander Udalov 0925e1b497 Enable JVM IR for stdlib/reflect/test libraries
Changes in Gradle integration tests are needed because:
- in new-mpp-android, kotlin-stdlib-jdk8 is used, and JVM IR generates
  JDK 8-specific bytecode (invokedynamic). D8 needs to be configured to
  desugar it with source/target versions set to 1.8, otherwise it
  reports an error.
- in AndroidExtensionsManyVariants and AndroidIcepickProject, D8 fails
  with assertions enabled if AGP < 4.0.0 is used because of
  https://issuetracker.google.com/issues/148661132. The tests which use
  old AGP versions are probably not relevant anymore anyway.

Changes in kotlin-stdlib-runtime-merged.txt are caused by a slightly
different generation scheme of collection subclasses in JVM IR, and are
harmless.

(Previous attempt was at 15e978dbd311c2ba78ec32b394c21acde9811ccb.)
2021-08-05 12:36:35 +02:00
Alexander Udalov 0a6d010d1c Support new repeatable annotations in kotlin-reflect
- Unwrap Kotlin-repeatable annotations (with implicit container)
- Introduce `KAnnotatedElement.findAnnotations` to find instances of
  repeated annotations

 #KT-12794
2021-07-30 19:53:33 +02:00
Abduqodiri Qurbonzoda b65c477e68 Regex.splitToSequence, CharSequence.splitToSequence(Regex) #KT-23351 2021-07-20 14:09:24 +00:00
Ilya Gorbunov 1c6ab08220 Introduce functions to parse a duration from a string KT-45325 2021-07-12 04:39:23 +00:00
Ilya Gorbunov 28a0698463 Regex.matchAt/matchesAt #KT-34021 2021-07-10 21:31:19 +03:00
Alexander Udalov ddfa94e7e9 Support Nothing type in typeOf
The proper support will come in KT-15518, but that would be a breaking
change even for stable Kotlin without kotlin-reflect. Before that issue
is fixed, represent Nothing in types with the Void class, and use a flag
in the no-reflect implementation to remember that it's not actually the
Void class itself.

 #KT-39166 Fixed
2021-07-09 14:40:05 +02:00
Alexander Udalov 0cb905a4b1 Support mutable collection types in typeOf
flexibleTypes_1_6.kt is fixed for JVM IR in a subsequent commit.

 #KT-35877 Fixed
2021-07-01 19:33:55 +02:00
Alexander Udalov 6e975b3498 Support flexible types internally in typeOf
#KT-45066 Fixed
2021-07-01 19:33:55 +02:00
Alexander Udalov e7275a7cb0 Revert "Enable JVM IR for stdlib/reflect/test libraries"
This reverts commit 15e978dbd3.

Together with the previous revert, this led to multiple failures in
Gradle integration tests:

    ConfigurationCacheIT.testIncrementalKaptProject
    ConfigurationCacheForAndroidIT.testAndroidKaptProject
    KotlinAndroid34GradleIT.testParcelize
    KotlinAndroid34GradleIT.testAndroidExtensionsManyVariants
    KotlinAndroid36GradleIT.testAndroidWithNewMppApp
    KotlinAndroid36GradleIT.testParcelize
    KotlinAndroid36GradleIT.testAndroidIcepickProject
2021-05-28 21:36:24 +02:00
Alexander Udalov 15e978dbd3 Enable JVM IR for stdlib/reflect/test libraries 2021-05-28 15:41:56 +02:00
Abduqodiri Qurbonzoda d9ab96126d Advance deprecation level of mixed Int/FP overloads of ClosedRange.contains to HIDDEN KT-22423 2021-04-07 00:23:34 +03:00
Abduqodiri Qurbonzoda abcc572b97 Remove deprecated scanReduce and scanReduceIndexed 2021-04-07 00:23:26 +03:00
Ilya Gorbunov 81f2aea316 Stabilize existing Path API and annotate with @Throws where appropriate
KT-45913
2021-04-06 14:24:42 +03:00
Ilya Gorbunov 0e93924ff3 Duration: inWholeUnits properties instead of inUnits
Introduce conversion properties returning Long values,
deprecate the old ones returning Doubles.
2021-04-02 17:44:10 +03:00
Ilya Gorbunov fa7460ba48 Store Duration value as a multi-range Long
Now precision loss happens at bigger durations.

This changes the binary API due different underlying type of Duration.
2021-04-02 17:43:20 +03:00
Ilya Gorbunov 94240f7b21 Stabilize unsigned types KT-45653
Deprecate specialized unsigned iterators for removal.

Fix compiler tests:
- drop unsignedLiteralsOn1_2 because apiVersion 1.2 is no longer supported
- drop experimental unsigned literals diagnostic test
2021-03-31 19:05:04 +03:00
Alexander Udalov fc36178f3a Annotate kotlin.reflect.jvm.reflect with ExperimentalReflectionOnLambdas
This function was always experimental, as explained in its kdoc, but it
was introduced before opt-in requirement markers were supported. Thus,
breaking changes (such as in KT-42746) were always expected, and the
`@ExperimentalReflectionOnLambdas` annotation just makes it clearer.

 #KT-45486 Fixed
2021-03-15 15:54:31 +01:00
Abduqodiri Qurbonzoda 09ad5ca602 Strict version of String.toBoolean() #KT-42071 2021-03-12 09:26:55 +03:00
Alexander Udalov f4c63c8ba2 Update public API dump for stdlib 2021-03-11 14:17:33 +01:00
Ilya Gorbunov a7fda66fa1 Suggest duration static factories instead of number extension properties
Introduce Duration companion functions to convert numbers to Duration.
Deprecate number extension properties and propose to use these
new functions instead.
2021-03-10 13:23:32 +03:00
Alexander Udalov 6ddca4a592 Add KClass.isValue to kotlin-reflect
#KT-44782 Fixed
2021-03-08 21:22:40 +01:00
Abduqodiri Qurbonzoda 421cb6971d Optimized toArray method for ArrayDeque and ListBuilder #KT-42720 2021-03-06 11:14:50 +03:00
Abduqodiri Qurbonzoda ed57bcb3b1 Commonize and generalize JVM-only String.contentEquals #KT-42840 2021-03-06 11:14:30 +03:00