Commit Graph

94928 Commits

Author SHA1 Message Date
Yahor Berdnikau 5eebcf8c77 Generate Js runtime diagnostic mode type
^KT-27301 In Progress
2022-09-19 12:30:39 +02:00
Yahor Berdnikau c1ed683ed8 Generate Js source map embed mode type
^KT-27301 In Progress
2022-09-19 12:30:38 +02:00
Yahor Berdnikau 626bd34319 Generate JS module kind type
^KT-27301 In Progress
2022-09-19 12:30:38 +02:00
Yahor Berdnikau 14f45b48b3 Generate JS main function execution mode type
^KT-27301 In Progress
2022-09-19 12:30:38 +02:00
Yahor Berdnikau 7772ab00cd Generate JvmTarget Gradle DSL object
This is generated based on JvmTarget compiler type without exposing
compiler internals.

^KT-27301 In Progress
2022-09-19 12:30:38 +02:00
Yahor Berdnikau 37c66837ee Make 'generateGradleOptions' task visible
Makes all generate* tasks easier to discover.

^KT-27301 In Progress
2022-09-19 12:30:38 +02:00
Yahor Berdnikau 6842842827 Generate KotlinVersion Gradle DSL object
To avoid exposing compiler internal types inside Gradle DSL public api.

ApiVersion and LanguageVersion in terms of compiler api is almost the
same. Actually ApiVersion is generated based on LanguageVersion. To
reduce user confusion what enum to use and what is the difference
- in Gradle DSL they are now exposed as single enum - KotlinVersion.

Mark KotlinVersion with DeprecationLevel.ERROR if related
LanguageVersion is unsupported and with DeprecationLevel.WARNING if
related LanguageVersion is deprecated.

^KT-27301 In Progress
2022-09-19 12:30:34 +02:00
Artem Kobzar a368fc37c7 [K/JS] Make interface subtyping faster and lighter. 2022-09-19 10:26:11 +00:00
Hung Nguyen 03f83ff339 New IC: Include inline property accessors in class/package members
Problem: ClasspathChangesComputer (a core component of the new IC) uses
the existing inline function analysis from the old IC
(IncrementalJvmCache.InlineFunctionsMap). If an inline property accessor
has changed, the inline function analysis will report the name of the
property accessor, not the name of the property.
ClasspathChangesComputer doesn't see the property accessor's name in the
list of class/package members, so it will throw an exception.

Solution: There are 2 options:
  1. If an inline property accessor has changed, the inline function
     analysis can report the name of the property instead of the
     property accessor.
  2. ClasspathChangesComputer can include property accessors in the list
     of class/package members.

In this commit, we will choose option 2 as it is simpler.

Test: New KotlinOnlyClasspathChangesComputerTest.testPropertyAccessors

Small cleanup - PLS SQUASH INTO PREVIOUS COMMIT

  - Address review
  - Fix failed tests
  - Add some trivial changes

^KT-53871 Fixed
2022-09-19 11:50:08 +02:00
Sebastian Sellmair 2ba7c7b8a9 [Gradle][MPP] MPP/AGP compatibility: Bump maxSupportedVersion to 7.3
^KT-54071 Verification Pending
2022-09-19 06:22:32 +00:00
Hung Nguyen def886cd31 Clean up fall-back logic in IncrementalCompilerRunner
Make it clear that there 3 distinct cases:
   1. Incremental compilation completed with an ExitCode.
   2. Incremental compilation was not possible for some valid reason
      (e.g., for a clean build), and we will perform non-incremental
      compilation.
   3. Incremental compilation failed with an exception.
      In this case, we will:
        - Print a warning with a stack trace
        - Ask the user to file a bug
        - Collect rebuild reason enum for analytics
           + TODO: Collect the stack trace too
        - Fall back to non-incremental compilation

Test: Existing BaseIncrementalCompilationMultiProjectIT.testFailureHandling_UserError,
      Updated BaseIncrementalCompilationMultiProjectIT.testFailureHandling_ToolError

^KT-53015: In progress
2022-09-19 07:33:16 +03:00
Abduqodiri Qurbonzoda 57bbc335f4 Fix stdlib docs generator after adding new enums 2022-09-18 22:49:02 +00:00
Abduqodiri Qurbonzoda f38654740e Use Path.deleteRecursively() in the Path.cleanupRecursively() test util 2022-09-18 22:49:02 +00:00
Abduqodiri Qurbonzoda 90189f9c39 Provide Path.copyToRecursively() and Path.deleteRecursively() #KT-52928 2022-09-18 22:49:01 +00:00
Abduqodiri Qurbonzoda 7271de2642 Test Path.copyTo when source and target paths are the same file 2022-09-18 22:49:01 +00:00
Abduqodiri Qurbonzoda 6fde3391d3 Test that Path.copyTo() does not follow symlink in destination 2022-09-18 22:49:01 +00:00
Abduqodiri Qurbonzoda 6ddb0326bb Test that Path.copyTo() copies the source file access permissions 2022-09-18 22:49:01 +00:00
Abduqodiri Qurbonzoda f0da420b1f Move Path.tryCreateSymbolicLinkTo to AbstractPathTest.kt 2022-09-18 22:49:00 +00:00
Andrey Uskov 81d6fea0c4 Enable new incremental compilation in Kotlin project 2022-09-18 16:14:32 +00:00
Jinseong Jeon dd7fc7f4ae AA FIR: avoid unsafe argument retrieval during const evaluation 2022-09-18 17:22:02 +02:00
Sergey Bogolepov 0b4a4ca42b [K/N] AArch64 watchOS target 2022-09-18 08:58:21 +00:00
Ilya Gorbunov 75e1effbc5 Make Optional extensions stable since 1.8
KT-51907, KT-53277
2022-09-17 22:52:46 +00:00
Ilya Gorbunov b76854eddf Simplify signatures of Optional extensions getOrDefault and getOrElse
Two generic types are not need to cover the same use cases.

KT-50484
2022-09-17 22:52:46 +00:00
Ilya Gorbunov 0251d432e9 Do not commit to vcs protoeditor.xml settings 2022-09-17 15:21:50 +00:00
Jinseong Jeon efb867b46c AA: do not create symbol pointers for (intersection|substitution) overridden members 2022-09-17 16:43:12 +02:00
Jinseong Jeon e50da634bc AA: add tests for resolution to built-ins 2022-09-17 16:43:12 +02:00
Jinseong Jeon c7347cfb48 LL FIR: module kind for built-ins module 2022-09-17 16:43:11 +02:00
Jinseong Jeon f9e086a6e3 S/LC: avoid building light classes for decompiled built-ins 2022-09-17 16:43:11 +02:00
Jinseong Jeon 0b63f294ab LL FIR: remove unnecessary type cast
For compiled symbol, it can be either library or built-ins session
2022-09-17 16:43:11 +02:00
Jinseong Jeon 7529965619 LL FIR: cache built-ins module to session 2022-09-17 16:43:11 +02:00
Jinseong Jeon c2daa26118 AA: use fully decompiled file when indexing built-ins 2022-09-17 16:43:10 +02:00
Jinseong Jeon 5bf333f6f5 AA: look up built-ins module for deserialized declarations from built-ins 2022-09-17 16:43:10 +02:00
Jinseong Jeon df95602e06 AA: populate index for built-ins 2022-09-17 16:43:10 +02:00
Alexander Shabalin 529a29ae52 [K/N] Use TargetDomainObjectContainer ^KT-53776
Merge-request: KT-MR-7110
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-09-17 08:40:09 +00:00
Sergey Bogolepov ad9de1f8c4 [K/N]Split CoreFoundationBase and CFCGTypes from CoreFoundation
Ugly hack to keep Kotlin ABI of CGPoint and its friends.
In *OS (except macOS) SDKs Apple moved CGPoint and some other
fundamental types from CoreGraphics to CoreFoundation in a way
which breaks ABI for K/N platform libraries. To mitigate this
problem we split CoreFoundation platform library into several
smaller ones.
2022-09-17 07:51:36 +03:00
Sergey Bogolepov ff526e6c28 [K/N] Move ptrauth.h from CoreFoundation to a more proper namespace 2022-09-17 07:51:36 +03:00
Sergey Bogolepov 9ec8576c5e [K/N] update iOS platform libs for Xcode 14 2022-09-17 07:51:35 +03:00
Sergey Bogolepov df48b24631 [K/N] Update watchOS platform libs for Xcode 14 2022-09-17 07:51:35 +03:00
Sergey Bogolepov 176f9335eb [K/N] Update tvOS platform libs for Xcode 14 2022-09-17 07:51:35 +03:00
Sergey Bogolepov 7f78f806d4 [K/N] update macOS platform libs for Xcode 14 2022-09-17 07:51:35 +03:00
Sergey Bogolepov dde1dcc760 [K/N] Fix defFileDependencies 2022-09-17 07:51:35 +03:00
Sergey Bogolepov 5f847ac40d [K/N] Add workaround for NS_FORMAT_ARGUMENT(A)
See KT-48807 for explanation
2022-09-17 07:51:34 +03:00
Sergey Bogolepov 5c1641430c [K/N] Bump Xcode version in README.md 2022-09-17 07:51:34 +03:00
Sergey Bogolepov 183686659e [K/N] Bump Xcode SDK versions 2022-09-17 07:51:34 +03:00
Sergey Bogolepov 8bf7a17508 [K/N] Update Xcode version to 14-RC 2022-09-17 07:51:34 +03:00
Sergey Bogolepov 95e83d064d [K/N] Bump Xcode major version to 14 2022-09-17 07:51:34 +03:00
Abduqodiri Qurbonzoda dce62275c6 Fix daemon-common-new compile 2022-09-17 01:06:56 +00:00
Abduqodiri Qurbonzoda f2b0c30cba Remove Experimental and UseExperimental from compiler OptIn usage checkers 2022-09-17 01:06:56 +00:00
Alexander Likhachev bc684b8d36 [Gradle] Add missing kotlin-multiplatform tasks descriptions
#KT-31573 Fixed
2022-09-16 23:33:35 +02:00
Mads Ager b7a7fce34e Add suspend lambda annotations to invokeSuspend.
For non-suspend lambdas annotations are carried over to the
invoke method so that tooling can find the annotation there.
It seems reasonable that annotations are carried over to
the invokeSuspend method on suspend lambdas as well so that
similar tooling can be built and work for suspend lambdas.
2022-09-16 23:21:18 +02:00