Commit Graph

415 Commits

Author SHA1 Message Date
sebastian.sellmair 4f4f749c08 [kpm] Replace KotlinExternalModelContainer with new Extras implementation
This newly introduced `Extras` shall present a more generic mechanism
of attaching data of a given type to any entity.
2022-05-23 14:40:49 +00:00
sebastian.sellmair d7bfa02bb3 [tooling-core] Add KotlinToolingVersionOrNull factory function 2022-05-19 12:46:04 +00:00
Ilya Gorbunov eb8e701cb5 Make IntrinsicConstEvaluation annotation internal 2022-05-17 14:38:43 +00:00
sebastian.sellmair 40d62bf1a7 :tools:binary-compatibility-validator: Remove explicit kotlinx-metadata-jvm dependency
The kotlinx:binary-compatibility-validator dependency is expected
to bring this dependency in.

KT-52045
2022-05-04 18:31:40 +00:00
sebastian.sellmair fd0645548d Update binary-compatibility-validator to v0.9.0
KT-52045
2022-05-04 18:31:39 +00:00
Ilya Gorbunov a03999fe81 Rename DefaultTimeMark to TimeSource.Monotonic.ValueTimeMark 2022-04-14 16:54:32 +00:00
Ilya Gorbunov fede70d0d5 Make TimeMark returned by TimeSource.Monotonic a value class
This value class wraps Long on JVM and Native thus reducing allocations
in time measurement scenarios when the default monotonic time source is
statically known.

KT-46132
2022-04-14 16:54:30 +00:00
Kevin Bierhoff 9fe6e97cb8 Extensions for java.util.Optional (KT-50484)
Co-authored-by: Ilya Gorbunov <ilya.gorbunov@jetbrains.com>
2022-04-13 14:34:06 +03:00
Ilya Gorbunov 1845e326d1 Hide deprecated Double/FloatArray.contains/indexOf/lastIndexOf 2022-04-12 15:03:40 +00:00
Ilya Gorbunov 2303730d57 Remove deprecated and not stabilized primitive unsigned iterators 2022-04-12 15:03:38 +00:00
Ivan Kylchik 6f448820f0 Add new internal annotation IntrinsicConstEvaluation 2022-04-05 17:20:38 +00:00
Ilya Gorbunov 60fbb0d171 Reintroduce min/max operations for non-empty collections KT-50146 2022-04-04 22:33:24 +00:00
Abduqodiri Qurbonzoda 42c9a27b8a Specialize Progression first/last/OrNull functions #KT-42178 2022-04-04 22:27:49 +00:00
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
Ilya Gorbunov dea149ab47 Advance Kotlin version used in build to 1.7
Also update kotlinx-metadata-jvm used in kotlin-reflect build to 0.4.1
in order to support reading Kotlin 1.7 metadata version.
2022-03-05 22:15:59 +03: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
sebastian.sellmair e91785ba39 [KPM] Implement initial IdeaKotlinProjectModelBuilder
- Introduce `kotlin-gradle-plugin-idea` module that allows
to share models between the IDE and KGP

- Add `kotlin-gradle-plugin-idea` to the RuntimePublicAPITest to
ensure binary compatibility

^KT-51262
2022-02-17 20:19:12 +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
Vyacheslav Gerasimov ab146bd6d4 Build: Fix deprecated Gradle configurations usages
for migration to Gradle 7+ #KTI-559
2021-09-26 18:28:44 +03: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
Alexander Udalov 91c39ed01c Build: remove obsolete compiler arguments
These compiler arguments enable features which are enabled by default in
the current Kotlin anyway.

The only exception is in :compiler:cli which uses an old language
version.
2021-07-27 13:35:38 +02:00
Abduqodiri Qurbonzoda b65c477e68 Regex.splitToSequence, CharSequence.splitToSequence(Regex) #KT-23351 2021-07-20 14:09:24 +00:00
Mikhael Bogdanov 03ccbf1b17 Upgrade kotlinx-metadata-jvm and binary-compatibility-validator versions 2021-07-19 13:49:05 +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