Commit Graph

93138 Commits

Author SHA1 Message Date
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
sebastian.sellmair d78fb1d4d2 [kpm] kgp-idea-proto: Add conversion from IdeaKpm.* to IdeaKpm.*Proto
^KT-52568 In Progress
2022-06-17 22:26:53 +00:00
sebastian.sellmair 2ecfd76bbb [kpm] kgp-idea-proto: Add generated code for protobufs
This code was generated by libprotoc 3.19.4

^KT-52568 In Progress
2022-06-17 22:26:52 +00:00
sebastian.sellmair 6a520246e5 [kpm] kgp-idea-proto: Add .proto definitions for IdeaKpm models
^KT-52568 In Progress
2022-06-17 22:26:52 +00:00
sebastian.sellmair 252c297112 [kpm] Create new :kotlin-gradle-plugin-proto module 2022-06-17 22:26:51 +00:00
sebastian.sellmair 58e2f6d5d7 [kpm] kotlin-tooling-core: Expose 'Type' in Extras.Key
This type can later be used for extension points to register
serializers for certain known types.

^KT-52568 In Progress
2022-06-17 22:26:50 +00:00
sebastian.sellmair 9a8832a241 [kpm] kgp-idea: Implement IdeaKpmProjectContainer
This container serves the purpose of transferring a already
serialized binary form of IdeaKpmProject to the IDE.

^KT-52568 In Progress
2022-06-17 22:26:50 +00:00
sebastian.sellmair 486c18bc21 [kpm] kgp-idea: Remove IdeaKpmPlatformDetails in favor of IdeaKpmPlatform
^KT-52568 In Progress
2022-06-17 22:26:49 +00:00
sebastian.sellmair 5f61b55abc [kpm] kgp-idea: Remove IdeaKpmResourceDirectory in favor of a morge generic IdeaKpmSourceDirectory
^KT-52568 In Progress
2022-06-17 22:26:48 +00:00
sebastian.sellmair 7db9a4b0b1 [kpm] kgp-idea: Implement IdeaKpmSerializationContext
This context shall be used to register extension points like
IdeaKpmSerializationLogger or IdeaKpmExtrasSerializationExtension

^KT-52568 In Progress
2022-06-17 22:26:47 +00:00
sebastian.sellmair 132743cb7a [kpm] kgp-idea: Publish testFixtures
^KT-52568 In Progress
2022-06-17 22:26:47 +00:00
Pavel Kunyavskiy 3932143ed0 [K/N] Fix copy-paste error in cbrtf signature
^KT-48232
2022-06-17 17:55:27 +00:00
Pavel Kunyavskiy e4fede9067 [K/N] Add cbrt functions to state checker ignore list
^KT-48232
2022-06-17 17:55:26 +00:00
Alexander Udalov a52017a130 Rewrite light analysis mode test class filter
Instead of filtering local/synthetic classes based on ClassDescriptor
instances, do it by interpreting kotlin.Metadata. This is needed to
enable these tests for JVM IR, where descriptors are not available in
this way.
2022-06-17 16:51:06 +02:00
Alexander Udalov 448cba07bb Psi2ir: do not generate init block body in kapt mode 2022-06-17 16:51:06 +02:00
Alexander Udalov 7e9d7c895a Kapt: add flag kapt.use.jvm.ir for enabling JVM IR support
#KT-49682
2022-06-17 16:51:06 +02:00
Alexander Udalov 65c7a7f939 Minor, remove obsolete abstract test classes 2022-06-17 16:51:05 +02:00
Mikhail Glukhikh 6a3be0d8ac Add test for KT-52338 (fixed together with KT-49507) 2022-06-17 13:45:57 +00:00
sebastian.sellmair 66d344975b [Gradle] KotlinToolRunner: Capture System.getProperties() as List
This is done to avoid a potential `ConcurrentModificationException`:

```
Caused by: java.util.ConcurrentModificationException
  at java.util.Hashtable$Enumerator.next(Hashtable.java:1387)
  at org.gradle.internal.classpath.Instrumented$DecoratingEntrySet$1.computeNext(Instrumented.java:349)
  at org.gradle.internal.classpath.Instrumented$DecoratingEntrySet$1.computeNext(Instrumented.java:343)
  at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:141)
  at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:136)
  at kotlin.sequences.TransformingSequence$iterator$1.hasNext(Sequences.kt:176)
  at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:131)
  at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:156)
  at kotlin.collections.MapsKt__MapsKt.putAll(Maps.kt:419)
  at kotlin.collections.MapsKt__MapsKt.toMap(Maps.kt:587)
  at kotlin.collections.MapsKt__MapsKt.toMap(Maps.kt:581)
  at org.jetbrains.kotlin.compilerRunner.KotlinToolRunner.runViaExec(KotlinToolRunner.kt:95)
  at org.jetbrains.kotlin.compilerRunner.KotlinToolRunner.run(KotlinToolRunner.kt:85)
```
2022-06-17 13:11:44 +00:00
Philipp Smorygo 642b403232 Rename COCOAPODS_SKIP_KOTLIN_BUILD to OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED 2022-06-17 13:01:38 +00:00
sebastian.sellmair e6c0d73989 [kotlin-tooling-core] Support 'pub' suffix for KotlinToolingVersion 2022-06-17 10:55:37 +00:00
Alexander Udalov 2a9fd47755 Minor, update JVM target versions in -Xjdk-release help 2022-06-17 10:40:35 +00:00
Dmitriy Novozhilov 1a5b6a1bde [FIR2IR] Minor fixes in Fir2IrPluginContext 2022-06-17 09:38:19 +00:00
Dmitriy Novozhilov f7e0880c34 [IR] Mark methods with descriptors of SymbolTable with @ObsoleteDescriptorBasedAPI 2022-06-17 09:38:18 +00:00
Pavel Kunyavskiy 9ec1143256 [K/N] Show new memory model in debug mode benchmarks 2022-06-17 10:23:45 +02:00
Pavel Kunyavskiy f4ea929d8e [K/N] Better removing of extra safepoints 2022-06-17 06:42:28 +00:00
Ilya Chernikov c2316ca305 Scripting: avoid definitions discovery when compiling regular kotlin
If only regular kotlin .kt (and .java) files are compiled, do not
register file extensions that may come from discovered script
definitions. Since the discovery is lazy by itself, this should
skip jars processing for regular compilation scenarios without scripts.
#KT-47816 fixed
2022-06-16 21:28:07 +00:00
Ilya Chernikov 5caf2a2aca Scripting: refactor plugin command line processing
- process command line properly when plugin is autoloaded
- add and fix options to disable definitions autoloading and discovery
- cleanup unused code
(partial test is added to "avoid definitions discovery" commit)
2022-06-16 21:28:07 +00:00
Ilya Chernikov a8c4ea04c8 Scripting: add check for 'kotlin' package similar to the regular sources
#KT-52598 fixed
2022-06-16 21:28:06 +00:00
Ilya Chernikov f5950ac8f3 minor: avoid double reporting of scripting diagnostics
also fix arror reporting for scripts with location
2022-06-16 21:28:06 +00:00
Ilya Chernikov 855059b93c Scripting: update scripts in source roots handling
#KT-52525 fixed
related to #KT-52735
2022-06-16 21:28:06 +00:00
Ilya Chernikov b2b13a0247 minor: remove unused class 2022-06-16 21:28:05 +00:00
Ilya Chernikov bffe94e48a minor: simplify dependencies of setIdeaIoUseFallback
since kotlin needs now jvm 8 or above, we can drop the checks
2022-06-16 21:28:05 +00:00
Ilya Chernikov 9912df0daf minor: remove a warning in scripting tests 2022-06-16 21:28:04 +00:00
Ilya Chernikov da782fbfe8 Scripting: extend JSR-223 compilable with bindings test
proofs that #KT-47191 describes a misuse rather than a bug
2022-06-16 21:28:04 +00:00
Ilya Chernikov 120ecce753 Scripting: refactor processing of JvmDependencyFromClassLoader in repl 2022-06-16 21:28:04 +00:00
Ilya Chernikov 597677dae3 Scripting: refactor history handling in legacy REPL using new infra
#KT-47187 fixed
2022-06-16 21:28:03 +00:00
Ilya Chernikov 92bf260057 Scripting: Implement conditional conversion for REPL result values
to support value types erased from runtime classes. See example
in added tests for motivation.
#KT-45065 fixed
also refactor launcher repl test and result type rendering
2022-06-16 21:28:03 +00:00
Ilya Chernikov b36d1be5f8 Scripting: switch legacy CLI REPL to the new infrastructure 2022-06-16 21:28:02 +00:00
Ilya Chernikov 6784cb63aa Scripting: implement support for user-defined execution wrapper 2022-06-16 21:28:02 +00:00
Jinseong Jeon abdc2cf85e AA: populate SingleJavaFileRootsIndex properly 2022-06-16 22:14:18 +02:00
Jinseong Jeon 9ba6cf47ea AA: use partition to group directory/jar library roots 2022-06-16 22:14:18 +02:00
Jinseong Jeon a2da690afd Test: add java source files as JavaSourceRoot
so that those can be properly populated in SingleJavaRootsIndex
2022-06-16 22:14:17 +02:00
Yuriy Artamonov cb2a54cef8 KT-50907 Update no-arg plugin to for jakarta persistence api namespace 2022-06-16 18:31:49 +00:00
Yan Zhulanow 191bac38a3 Fix 'PsiElement.getReference()' contract for Kotlin PSI (KT-52822)
As stated in JavaDoc for 'PsiElement' (formatting is slightly changed):

Returns the reference from this PSI element to another PSI element
(or elements), if one exists. If the element has multiple associated
references, returns the first associated reference.
2022-06-16 18:31:49 +00:00
Yan Zhulanow 3a6dd52833 [Pill] Update imported modules 2022-06-16 18:31:49 +00:00