Commit Graph

85663 Commits

Author SHA1 Message Date
Dmitry Gridin 862e87b1ba JavaElementFinder: support repeatable annotation container
^KTIJ-19318
2021-09-09 11:17:35 +00:00
Vladimir Ivanov 8ba164163c [K/N] cinterop: ignore CXIdxEntity_CXXClass in ObjC header
Unexpected behavior is caused by `@class` declaration in ObjC context.
This entity is not used in CPP context either.
2021-09-09 09:37:05 +00:00
Mikhail Glukhikh ffbd574a08 Use -opt-in instead of -Xopt-in in comments and scripts 2021-09-08 23:43:55 +03:00
Igor Chevdar 8ad540953e [K/N][optmz] Fix for https://youtrack.jetbrains.com/issue/KT-48380 2021-09-09 00:32:41 +05:00
Nikolay Krasko 47a660e479 Fix publication for jvm-abi-gen
Effectively solved by rearranging order of lines - runtimeJar() should
be used after publish(). Otherwise, jar task is not registered as
dependency for publication, and publication misses the main jar.

 #KTI-637 Fixed
2021-09-08 22:28:53 +03:00
Elena Lepilkina 8924730320 [K/N][perf] Added option to analyze benchmarks without DB connection 2021-09-08 18:53:18 +00:00
Igor Laevsky 00f61978b8 WASM: Enable exception handling tests 2021-09-08 19:56:38 +03:00
Igor Laevsky ef2970a888 WASM: Cover frontend issue where unit-type is casted to the non-unit type 2021-09-08 19:56:36 +03:00
Igor Laevsky 4299915326 WASM: Implement finally blocks for try/catch'es 2021-09-08 19:56:36 +03:00
Igor Laevsky d99473fe4d WASM: Canonicalize catches without finally blocks 2021-09-08 19:56:35 +03:00
Igor Laevsky 02aed80e18 WASM: Implement simple try/catch codegen 2021-09-08 19:56:34 +03:00
Igor Laevsky 6ca965af6f WASM: Generate throw instruction instead of wasmThrow call 2021-09-08 19:56:33 +03:00
Igor Laevsky e5e44a0152 WASM: Implement asm/disasm support for exception handling tags 2021-09-08 19:56:32 +03:00
Igor Laevsky 2ef5fd95db WASM: NFC. Rename statementToWasmInstruction into generateStatement 2021-09-08 19:56:32 +03:00
Igor Laevsky 3ecf9306b1 WASM: NFC. Move IrBlockBody visit into body builder 2021-09-08 19:56:31 +03:00
Igor Laevsky a246ec636e WASM: Stupidify unit handling
Now every IR instruction returns an actual Unit instance.
All Unit's are actual objects passed around except for function boundaries.
2021-09-08 19:56:29 +03:00
Igor Laevsky 37874b1937 WASM: Lower expression bodies into block bodies 2021-09-08 19:56:27 +03:00
Svyatoslav Kuzmich b79719d6f5 [Wasm] Fix unit issues
- Materialize unit when its value is actually needed.
- Special-case Unit_getInstance return type at codegen. It should be a
  proper Unit object instead of a "void"
2021-09-08 19:56:26 +03:00
Mikhail Glukhikh 20ddaa9ebf Remove redundant upcast in JvmPropertiesLowering
#KT-48621 Fixed
2021-09-08 18:04:36 +03:00
Leonid Startsev 6f954462d6 Implement proper contract for generated java.lang.Annotation.hashCode()
#KT-48606 Fixed
2021-09-08 14:41:25 +00:00
pyos 94402ba488 FE: prefer enhancements for errors over enhancements for warnings 2021-09-08 16:54:17 +03:00
pyos 8f699248f1 FE: force flexibility on unannotated ?
TODO: unify this code with FIR

 #KT-48515 Fixed
2021-09-08 16:54:17 +03:00
pyos afa1d18cc2 FE: in NullMarked scope, enhance T! to at least T
#KT-44436 Fixed
2021-09-08 16:54:17 +03:00
pyos f793afbfea FE: do not enhance ? into ? extends @NotNull Object in JSR-305
This is already done in jspecify and makes more sense anyway.
2021-09-08 16:54:17 +03:00
pyos 34ae5387b3 FE: clean up typeEnhancement.kt a bit 2021-09-08 16:54:17 +03:00
Elena Lepilkina e89ae81f87 [K/N] Updated mimalloc version in README 2021-09-08 13:53:19 +00:00
Elena Lepilkina cb067e160b [K/N] Updated RSS limit for new version of mimalloc 2021-09-08 13:53:18 +00:00
Elena Lepilkina 084268573c [K/N] Added some other functions in list with safe functions for state checker 2021-09-08 13:53:18 +00:00
Elena Lepilkina 8ff960fbe3 [K/N] Updated mimalloc to version 1.7.2 2021-09-08 13:53:17 +00:00
Elena Lepilkina e454c824d5 [K/N] Enable mimalloc support on Windows and Mac Arm64 2021-09-08 13:53:17 +00:00
Igor Chevdar e057e5ffac [K/N][optmz] New strategy for resolving divergence of escape analysis 2021-09-08 18:48:55 +05:00
Igor Chevdar aad2a3303f [K/N][optmz] More debug output for escape analysis 2021-09-08 18:48:50 +05:00
Dmitry Savvinov 699eb47834 Never suggest fake overrides as results of expects-matching
See KT-48291 for example.

The rationale behind the change is that in "findExpectForActual" we want
to find a candidate to be a counterpart for the current (actual)
declaration. Fake overrides can not be a sensible counterpart in that
regard (you can't, nor you should, provide actual for expect which is
FAKE_OVERRIDE)

^KT-48291 Fixed
2021-09-08 16:22:54 +03:00
Dmitry Gridin 724194dec0 [ULC] fix testData in the plugin (related to repeatable annotation) 2021-09-08 19:50:40 +07:00
Mikhail Glukhikh 19a75b31f9 FIR: avoid resolve loop between accessor and other members
#KT-48634 Fixed
2021-09-08 14:47:51 +03:00
Victor Petukhov 72fa330576 Use proper substitution in the error message COULD_BE_INFERRED_ONLY_WITH_UNRESTRICTED_BUILDER_INFERENCE 2021-09-08 13:10:50 +03:00
Victor Petukhov 810aee60db Get nested builder inference sessions properly, across delegated inference sessions too
^KT-48445 Fixed
2021-09-08 13:10:50 +03:00
Victor Petukhov 1d9ffebad6 Create resolution context for delegated property resolve as well
^KT-48445 Fixed
2021-09-08 13:10:46 +03:00
Victor Petukhov ce02cd4729 Enable suspend conversions by default in 1.6
^KT-48618 Fixed
2021-09-08 13:09:20 +03:00
Victor Petukhov 86d8468b8b Introduce a compiler X-flag to use the builder inference by default for all calls
^KT-48622 Fixed
2021-09-08 13:09:19 +03:00
Dmitry Petrov df700117c3 Minor: update testData 2021-09-08 09:05:36 +03:00
Roman Artemev 78cd45f937 [KLIB] Resolve deserialization on for each file separately
Needs for IC
2021-09-07 20:41:28 +03:00
Roman Artemev 28ffcf1e81 [KLIB] Fix typo 2021-09-07 20:41:26 +03:00
Alexander Udalov 5dbf5b1d45 Cleanup type enhancement, remove ValueParameterData
`ValueParameterData.hasDefaultValue` is now always equal to the original
value parameter's `declaresDefaultValue` flag, so `ValueParameterData`
usages can be simplified to just `KotlinType`.
2021-09-07 19:05:48 +02:00
Alexander Udalov 7e43000d9b JVM: do not lose default parameter values during enhancement
The change in signatureEnhancement.kt in 432f581cb2 was incorrect.
Contrary to its name, the removed method `hasDefaultValueInAnnotation`
checked not only if the enhancement annotation has default value (which
is what the removed feature was about), but also if the parameter itself
declares default value. This was mistakenly substituted by just `false`
on line 234. The correct change is to use the `declaresDefaultValue`
flag of the original parameter.

It's kind of weird though that in case there's a nullability annotation
on the whole package (like in KT-48316) type enhancement is being done
on everything, including annotation constructors, whose parameter types
can't have any enhancement information. Maybe this should be improved
independently.

 #KT-48316 Fixed
2021-09-07 19:05:48 +02:00
Dmitry Petrov e28d4a1877 JVM_IR allow remapped variables in inplace arguments transformation 2021-09-07 19:46:03 +03:00
Svyatoslav Scherbina 09c8ca860a Fix output path for :kotlin-native:distEndorsedSources 2021-09-07 15:59:16 +00:00
sebastian.sellmair 1076654bd9 [Gradle] Shared Native compilations: Don't explicitly add stdlib dependency
Shared Native Compilations seem to already implicitly add a
dependency on the stdlib. Adding it again will result in a
'library included more than once' warning.

^KT-46257 Verification Pending
2021-09-07 14:17:40 +00:00
sebastian.sellmair 8fe176f605 [Gradle] CommonizerHierarchicalIT: Add assertions for ^KT-46257 2021-09-07 14:17:40 +00:00
Roman Golyshev 19d11f9149 [FIR IDE] Do not create KtPsiBasedSymbolPointer for generated members
For example, if a class has default constructor (`class Foo`),
both KtClassSymbol and KtConstructorSymbol will be pointing to the same
PSI - thus creating effectively the same `KtSymbolPointer`. Later
it will be impossible to deduce which symbol we had in mind

Currently, `Show Parameters Info` works incorrectly for
such generated declarations  because of that - it throws CCE while
trying to cast class symbol to function (constructor) symbol
2021-09-07 13:36:11 +00:00