Commit Graph

93598 Commits

Author SHA1 Message Date
Sergey Bogolepov 8ef73fe6bf [K/N] Add GetLastError to CallsChecker exclusions 2022-07-13 12:28:25 +00:00
Ilya Kirillov bd6be11adf [LL API] allow on-air analysis of non-physical files for intentions preview 2022-07-13 12:44:04 +02:00
Pavel Kunyavskiy 5cdda48487 [K/N] Extract const val initializers to place of usage
This would make behaviour more consistent with jvm. There is still
a difference in behaviour about point where side effects happen.

^KT-52970
2022-07-13 08:49:40 +00:00
Yahor Berdnikau 6a8da8f9eb Fix Kotlin common or js compilation could spawn second Kotlin daemon
Kotlin's daemons spawned by js/common compilation where incompatible
on JDK 1.8, because of 'tools.jar' presence mismatch. Now KGP always
passes tools.jar location to Kotlin daemon.

^KT-52622 Fixed
2022-07-13 08:12:59 +00:00
Igor Chevdar 99844be96c [K/N][caches] Save all local deserialized symbols for future use 2022-07-13 08:01:53 +00:00
Igor Chevdar e36bd5fe90 [box-tests] Added a multi-module box test 2022-07-13 08:01:51 +00:00
Ilya Chernikov 3471a1b899 minor: fix caching in Fir2Ir declarations storage 2022-07-13 08:45:20 +02:00
Ilya Kirillov 95744062c1 [Symbol LC] add parents for the local classes 2022-07-13 01:47:36 +02:00
Yahor Berdnikau c55a6c1453 Ensure all required plugins are installed for benchmarks 2022-07-12 22:46:48 +02:00
Jaebaek Seo 8d5c6297c7 Add ReadWriteAccessCheckerFirImpl class
ReadWriteAccessCheckerFirImpl class is ReadWriteAccessChecker
implementation for FIR. We register it for both stand-alone and test
analsys. It is used by KotlinFirReferenceContributor.kt to check the
synthetic Java property.
2022-07-12 16:47:40 +02:00
Jaebaek Seo 7a3e90f907 FIR find usage: separate FirSimpleNameReference objects for read/write
FirSimpleNameReference class handles the references to the Java
synthetic property. It causes an issue in `processReference(..)` method
of `MethodTextOccurrenceProcessor` when the property is used by
read/write.  Since read/write has two results of the reference resolution
i.e., getter for read and setter for write, `ref.solve()` in the method
returns `null` because it uses `resolve()` method in
PsiPolyVariantReferenceBase that returns null when it has multiple
results. This commit separates FirSimpleNameReference objects for
read/write to fix the issue.
2022-07-12 16:46:01 +02:00
Denis.Zharkov f7a2889a40 FastJarHandler: Add information for exceptions thrown during CD parsing
^KT-52786 Related
2022-07-12 14:45:37 +00:00
Yahor Berdnikau 6064945e79 Fix build regression benchmarks after update 2022-07-12 15:16:13 +02:00
Vladimir Sukharev a9789203ac Run test genericFunctionReferenceSignature.kt only for JVM and native
Merge-request: KT-MR-6636
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2022-07-12 13:07:14 +00:00
Pavel Kunyavskiy 270a98d02f [K/N] Fix test infra doc 2022-07-12 12:40:16 +00:00
Mikhail Glukhikh c92d685415 FIR: postpone callable reference candidate in default argument case
#KT-53019 Fixed
2022-07-12 12:22:34 +00:00
Mikhail Glukhikh c36e160f24 FIR2IR: minor refactoring of AdapterGenerator 2022-07-12 12:22:33 +00:00
Yahor Berdnikau 1c4db63b47 Update Duckduckgo build regression benchmark
Compare current vs 1.7.10 release
2022-07-12 12:11:01 +02:00
Yahor Berdnikau b330173edf Update KVision build regression benchmark
Compare current vs 1.7.10 release
2022-07-12 12:11:01 +02:00
Yahor Berdnikau 453154780b Update Graphql-kotlin build regression benchmark
Compare current vs 1.7.10 release
2022-07-12 12:11:01 +02:00
Vladimir Sukharev fd52f475cb Devirtualization fails to eliminate boxing in function reference context
^KT-49847 Fixed

Merge-request: KT-MR-6460
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2022-07-12 08:26:27 +00:00
Andrey Uskov 5013988dbb Fixed flakiness of BuildStatisticsWithKtorIT 2022-07-12 05:53:11 +00:00
Andrey Uskov 5ba3053e00 [IC] Do not report recompilation of non-existing files 2022-07-12 05:53:10 +00:00
Andrey Uskov 0b7244280f Disable expect-actual tests for fir
FIR currently does not support MPP, thus IC tests involving expect-
actuals, should be disabled.
2022-07-12 05:53:10 +00:00
Andrey Uskov deb2ef9a51 Add details about compilation rounds in IC tests 2022-07-12 05:53:09 +00:00
Andrey Uskov 318d955d64 [IC] Add tests for sealed classes (KT-45474) 2022-07-12 05:53:09 +00:00
Andrey Uskov 21e762458e [IC] Fixed IC for when expressions involving sealed interfaces
#KT-45474 Fixed
2022-07-12 05:53:09 +00:00
Andrey Uskov 7b8188d344 [IC] Fixed IC when one file contains multiple expect-actual classes 2022-07-12 05:53:08 +00:00
Martynas Petuška 3e6253cede KT-45789 Transitive npm dependencies 2022-07-11 16:05:28 +00:00
pyos 5a2ec4a0d5 FIR CFG: merge data flow if called-in-place lambda may not be called 2022-07-11 18:11:30 +03:00
pyos 06c7572ee5 FIR CFG: process called-in-place lambdas as loops 2022-07-11 18:11:30 +03:00
pyos 8214e4f806 FIR CFG: check lambda concurrency by data flow, not control flow
var p: String? = something
    if (p != null) {
      foo(
        run { p = null; n() },
        // This lambda executes strictly after the one above by CFG,
        // but data flow for type inference comes from before the call
        // so p would get smartcasted if not forbidden.
	run { p.length; 123 }
      )
    }
2022-07-11 18:11:30 +03:00
pyos 82731802ee FIR CFG: add one more test case 2022-07-11 18:11:30 +03:00
Victor Petukhov 7d945d9bdc [FIR] Support loading rxjava3 nullability annotations on bounded wildcards
^KT-53041 Fixed
2022-07-11 12:44:08 +00:00
Victor Petukhov cb2dbca0c3 [FE 1.0] Support loading rxjava3 nullability annotations on bounded wildcards
^KT-53041 Fixed
2022-07-11 12:44:07 +00:00
Victor Petukhov 9f72193d57 [FE 1.0] Support BB tests with foreign annotations 2022-07-11 12:44:07 +00:00
Victor Petukhov 2057deb91b [FE 1.0] Create DONT_CARE type only for callable references with no expected type
Otherwise, it can be resolved safety

^KT-52270 Fixed
2022-07-11 12:44:06 +00:00
Victor Petukhov fb21937eb1 [FE 1.0] Report INVISIBLE_MEMBER on all qualified expressions including safe call ones
^KT-47621 Fixed
2022-07-11 12:44:06 +00:00
Svyatoslav Scherbina e63e889a1f Bump Kotlin/Native version to 1.8.0-dev-287 2022-07-11 12:31:52 +00:00
Kristoffer Andersen 63f108b350 [KTIJ-21963] Move reflective access after default args lowerings 2022-07-11 13:13:09 +02:00
Igor Chevdar 9b402a42c7 [K/N] Fix for caches with LazyIR 2022-07-11 10:10:04 +00:00
Ilya Kirillov c46c723a1b [LL FIR] invalidate ValueWithPostCompute cache state on PCE 2022-07-10 23:20:33 +02:00
Ilya Kirillov 795b6656db [LL FIR] fix possible race in cached value reading in ValueWithPostCompute 2022-07-10 23:17:22 +02:00
Igor Chevdar 747bff4036 [K/N][caches] Fixed parents for deserialized on demand inline function
#KT-52974 Fixed
2022-07-10 17:56:37 +00:00
Igor Chevdar a61d05971e [box-tests] Added a couple of multi-module box tests 2022-07-10 17:56:36 +00:00
Ilmir Usmanov 5144efc7ae Do not split multimodule inliner tests into modules 2022-07-10 17:56:35 +00:00
Nikolay Krasko f1ad1da9e5 Avoid re-settings d8Plugin.version during import in IDEA
Error:
Could not create task ':js:js.tests:invalidationTest'.
Configuration already finalized for previous property values
2022-07-08 21:34:26 +00:00
Igor Yakovlev a0a66ffb96 [WASM] Refactoring wasm array copy functions 2022-07-08 16:29:45 +00:00
Sebastian Aigner 39844af876 Initial support for enforcedPlatform in Gradle MPP config 2022-07-08 14:35:06 +00:00
Jaebaek Seo ef482bb126 FIR find usage: correctly set extendsList of FirLightInterfaceClassSymbol
The existing code does not set the list of bases that
FirLightInterfaceClassSymbol extends for "extendsList". It collects only
the set of interfaces for "extendsList" of FirLightInterfaceClassSymbol.
However, interfaces can "extend" other classes and/or interfaces, but
they cannot "implement" other interfaces. Therefore, we have to includes
all interfaces and classes that the child interface extends in
the "extendsList". Additionally, this commit adds `private fun
PsiClass.hasSuper(..): Boolean` to FirLightClassBase that returns
whether one of recursive super classes of the PsiClass is `baseClass`
or not. This commit lets `isInheritor()` method use
`PsiClass.hasSuper()`.
2022-07-08 10:36:55 +02:00