Commit Graph

39913 Commits

Author SHA1 Message Date
Ivan Kochurkin 0ef043b074 [FIR2IR] Consider property init value from nested class, ^KT-52057 Fixed 2022-05-29 23:41:23 +03:00
Pavel Kunyavskiy 76da9df102 Bump klib ABI version
KLIB forward compatibility was broken during work related to
definitely not-null types, but version was not changed. This led to
exceptions in compiler instead of meaningful error.

^KT-52518
2022-05-28 07:30:54 +00:00
Alexander Udalov a7f4981fe5 Normalize virtual file paths to prevent duplicate sources
#KT-52465 Fixed
2022-05-27 23:40:57 +02:00
Victor Petukhov 867ad24c86 [FE] Show causing types in the INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION diagnostic 2022-05-27 15:14:24 +00:00
Victor Petukhov 6a34b184ac [FE] Introduce warnings on possible empty intersection types, and improve errors reporting in general
^KT-52361 Fixed
2022-05-27 15:14:23 +00:00
Victor Petukhov e133ee3765 [FE] Cache checking intersection type emptiness results 2022-05-27 15:14:23 +00:00
Victor Petukhov 02a430875f [FE 1.0] Don't fail candidates which were marked with compatibility resolve previously
^KT-52431 Fixed
^KT-52393 Fixed
2022-05-27 15:14:22 +00:00
Victor Petukhov 73d676d9de [FE 1.0] Report errors or warnings for INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION depending on previously recorded kind of diagnostic 2022-05-27 15:14:21 +00:00
Mikhail Glukhikh d7ca7e17c9 FE 10: wrap ext. receiver inlining prohibition in the language feature
See KT-52502
2022-05-27 14:55:08 +00:00
pyos fad35b95d4 FE: forbid extension calls on inline functional parameters
Extension receivers are currently implicitly noinline, and changing that
would require modifying the syntax to allow marking them noinline or
crossinline.

^KT-5837 Open
^KT-25787 Fixed
^KT-47965 Fixed
^KT-50107 Fixed
^KT-52403 Fixed
2022-05-27 14:55:07 +00:00
Victor Petukhov efa267bf86 [FE] Fix tests after rebase 2022-05-27 13:56:34 +00:00
Victor Petukhov 0199c76c06 [FE 1.0] Check callable reference return type safety during resolution
^KT-51844
^KT-52503 Fixed
2022-05-27 13:56:34 +00:00
Victor Petukhov 51551998c7 Revert "[FE 1.0] Take care callable reference candidates with recursive candidate return type"
This reverts commit d04beaa8bb49c99ceb993f3f7b32169c393b39f4.
2022-05-27 13:56:33 +00:00
Victor Petukhov 06deaed3d5 Add test for KT-50498 2022-05-27 13:56:33 +00:00
Victor Petukhov b411eb36e8 [FE 1.0] Take care standalone lambdas during updating types in the builder inference
^KT-50520 Fixed
2022-05-27 13:56:32 +00:00
Victor Petukhov c25e07119c [FE 1.0] Skip improper constraints while determining READY_FOR_FIXATION_DECLARED_UPPER_BOUND_WITH_SELF_TYPES type variable readiness
^KT-51148 Fixed
2022-05-27 13:56:32 +00:00
Tianyu Geng a7c37286a3 [Analysis API] Move SyntheticPropertyAccessorReferenceDescriptorImpl
Also move some utilities from IDE to kotlin repo
2022-05-27 15:37:35 +02:00
Alexander Udalov 70121f0c78 Report error on non-existent classpath in -Xplugin
#KT-52380 Fixed
2022-05-27 13:13:33 +02:00
Sergej Jaskiewicz 0614c519af [JS] Convert SourceFilePathResolver to Kotlin, fix usages 2022-05-26 16:32:05 +00:00
Jinseong Jeon c230a488e2 FIR LC: use the same module name as U/LC tests in IJ 2022-05-25 17:05:15 +02:00
Jinseong Jeon 1fe574f406 FIR LC: mangle internal function names 2022-05-25 17:05:14 +02:00
Mikhail Glukhikh 06bca02dd5 Fix REWRITE_ON_SLICE ANNOTATION in analysis API test
After this commit, all
Fe10IdeNormalAnalysisSourceModuleAnalysisApiAnnotationsOnFilesTestGenerated
pass
2022-05-25 12:04:56 +00:00
Hung Nguyen 08e6eb07c1 [New IC] Reduce memory usage of classpath snapshot cache
- Remove soft references that are too old.
 - Compute memory usage based on Runtime.totalMemory() instead of
   Runtime.maxMemory() as the latter is not reliable.
 - Remove debug logs that haven't proved to be useful.
 - Collect metrics on the number of cache hits (in addition to cache
   misses).

#KT-52329 In Progress

[New IC] Reduce memory usage of classpath snapshot cache

Use object interning for commonly shared objects. These include:
  - supertypes of classes
  - package names of classes

One experiment showed that with the above optimization, memory usage was
reduced from 660 MB down to 280 MB (+ 4 MB for the interning pool).

More aggressive object interning didn't reduce memory usage much
further, but would increase interning overhead and code complexity, so
we didn't do this to more objects.

Note that this commit optimizes the size of classpath snapshots in
memory, not their serialized data on disk. (I attempted the latter,
but the size was only reduced from 160 MB down to 130 MB, while the code
complexity became much higher as multiple interning pools would need to
be stored to disk and later loaded from disk, each per classpath entry
snapshot or shrunk classpath snapshot.)

#KT-52329 Fixed
2022-05-25 12:59:20 +03:00
Pavel Kunyavskiy 2dac366dbc [K/N] Temporary disable privateSuperType test for native
^KT-52498
2022-05-24 21:15:25 +00:00
Jinseong Jeon e446c988ee FIR LC: populate default retention policy of annotations 2022-05-24 20:32:56 +02:00
Jinseong Jeon 85388f0c79 FIR LC: correct static modifiers for accessors from companion 2022-05-24 20:32:55 +02:00
Jinseong Jeon a7a01a1f7e FIR LC: populate JvmStatic accessors from companion 2022-05-24 20:32:55 +02:00
Jinseong Jeon 63fb00fa21 FIR LC: revisit when to add fields to companion and/or containing class 2022-05-24 20:32:55 +02:00
Jinseong Jeon 89d1a6bc0f FIR LC: populate fields from companion in interface 2022-05-24 20:32:55 +02:00
Jinseong Jeon 0212e9daae FIR LC: always run with STDLIB (to handle JVM annotations) 2022-05-24 20:32:55 +02:00
Alexey Belkov 5f3e5f80d4 areParenthesesUseless: fix various false positives
The tests for this change will be committed to intellij repository
when it switches to the next Kotlin compiler containing the fix.

^KTIJ-21665
^KT-47159
2022-05-24 15:09:12 +00:00
Mikhail Glukhikh 6f17a8713c Fix KT-47708 in FIR by transferring SAM annotations to synthetic constr. 2022-05-24 12:29:28 +00:00
Mikhail Glukhikh 9b6430d455 Cleanup: FirOverrideChecker 2022-05-24 12:29:28 +00:00
Mikhail Glukhikh 7c89f0188a FIR: resolve conflicts around SAM calls properly 2022-05-24 12:29:27 +00:00
Ivan Kylchik 07ba9be2e0 Fix error with interpreting name of java property 2022-05-24 08:25:17 +00:00
Yahor Berdnikau af6f17c243 Unify kotlinCompilerClasspath for all projects
This will prevent spawning second Kotlin daemon during compilation
except 'buildSrc' compilation. Original change was introduced in
2e515f3945 commit.
2022-05-24 07:58:38 +00:00
Yahor Berdnikau cf2d03b914 Move common configuration from /build.gradle.kts into plugin
Move all common to all projects configuration from root build.gradle.kts
into common-configuration convention plugin.
2022-05-24 07:58:36 +00:00
Dmitriy Dolovov 2476d1bbb6 [IR][tests] Extend test for IR linkage issues related to functions 2022-05-24 07:48:09 +00:00
Zalim Bashorov f22eed6dd8 [Wasm] Fix running wasm in the browser 2022-05-23 17:50:24 +02:00
Dmitriy Novozhilov c777ecd470 [JS] Unmute tests due to fixed KT-52339 2022-05-23 12:04:37 +00:00
Victor Petukhov 64a3ae1b3c [FE 1.0] Prolong a deprecation cycle for RefineTypeCheckingOnAssignmentsToJavaFields
^KT-52404 Fixed
2022-05-23 12:36:32 +02:00
Victor Petukhov fbb2e18bea [FE 1.0] Use 1.7.20 as default language version for java type enhancement
^KT-50478
2022-05-23 12:36:31 +02:00
Victor Petukhov 7c38f99cbf [FE 1.0] Improve error message for disabled "Unit conversions" feature
^KT-49394 Fixed
2022-05-23 12:36:25 +02:00
Victor Petukhov bbf52e8b90 [FE 1.0] Make "Unit conversions" accessible experimental feature 2022-05-23 12:36:16 +02:00
Victor Petukhov 88d35067e3 [FE 1.0] Keep the same type attributes during union or intersection type attributes
^KT-51317 Fixed
2022-05-23 12:36:12 +02:00
Victor Petukhov e009d6a074 [FIR] Fix mistake in the error message for INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION 2022-05-23 12:36:11 +02:00
Kristoffer Andersen fcbc6b8459 [IR] Improve IR Symbols API and null discipline in ReflectiveAccess lowering 2022-05-20 23:06:19 +02:00
Kristoffer Andersen 0142d96319 [EE-IR] Account for toplevel properties in reflective lowering 2022-05-20 23:06:19 +02:00
Igor Yakovlev 3d3526e3d0 [WASM] Workaround for compiled wasm runs under node 2022-05-20 16:33:58 +02:00
Igor Yakovlev 73a86fffe5 [WASM] Bootstrap std compatibility fix 2022-05-20 16:33:57 +02:00