Commit Graph

85669 Commits

Author SHA1 Message Date
Danil Pavlov 64827d03bc Update New memory model guide (#4567)
* update: stylistic review
2021-09-09 16:05:37 +03:00
Roman Golyshev 43156dc726 [FIR IDE] Handle FirImplicitInvokeCalls in KtFirImportOptimizer
Hacks with PSI to detect implicit invoke calls are no more needed
2021-09-09 14:57:15 +03:00
Roman Golyshev c7a6a77a04 [FIR] Correctly insert FirImplicitInvokeCall expression when needed
Before that, implicit invoke call were inserted only for
double-brackets expressions (like `foo()()`)

In fact, it is intended to be present in every place where `invoke`
function is used as an operator:

`foo()` - `invoke` operator usage, should be `ImplicitInvokeCall`
`foo.invoke()` - `invoke` function used, should be simple `FunctionCall`

Also, handle implicit invokes in `FirDelegatedPropertyChecker`
2021-09-09 14:57:14 +03:00
Roman Golyshev f4a59de1c2 [FIR] Refactor FirDelegatedPropertyChecker 2021-09-09 14:57:13 +03:00
Dmitry Gridin 9095774600 lightClassUtils: cleanup code 2021-09-09 11:17:36 +00:00
Dmitry Gridin 542d109166 JavaElementFinder: cleanup code 2021-09-09 11:17:36 +00:00
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