Commit Graph

87184 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 7536dadb65 [FE] Introduce diagnostic markers
This is needed to move diagnostic renderers and positioning
  strategies to common modules for both frontends
2021-09-09 17:20:16 +03:00
Dmitriy Novozhilov 793209e72f [FE] Create special module for common frontent parts which uses PSI 2021-09-09 17:20:16 +03:00
Dmitriy Novozhilov ddc6c70611 [FE 1.0] Move diagnostic parameter renderers to common module 2021-09-09 17:20:15 +03:00
Dmitriy Novozhilov 405670e111 Merge :compiler:fir:jvm module into :compiler:fir:java 2021-09-09 17:20:14 +03:00
Dmitriy Novozhilov 8ffe3764ef Remove dependency on descriptors from :compiler:config.jvm 2021-09-09 17:20:13 +03:00
Jinseong Jeon 6342e6ecad FIR/LC: fix modality of enum class
enum class, which is extended by enum entries, should not be final.
(Those enum entries should be, instead.)

enum class itself wouldn't be instantiated, and thus it's technically
abstract, but having a private ctor() would be an option.
For the latter case, we can simply put no modality modifier.
2021-09-09 16:07:09 +02:00
Jinseong Jeon 204c5952bf LC: avoid adding @null nullability annotations 2021-09-09 16:07:09 +02:00
Jinseong Jeon 9e7ee2fdea Unify and use default value parameter name in default setter 2021-09-09 16:07:09 +02:00
Jinseong Jeon c2964f688e FIR LC: don't include annotations w/o use-site targets to property accessors 2021-09-09 16:07:09 +02:00
Jinseong Jeon 5446a8ad10 FIR IDE: null out for erroneous PsiType conversion 2021-09-09 16:07:09 +02:00
Jinseong Jeon 8e242655f9 FIR IDE: resolve call to property accessors 2021-09-09 16:07:09 +02:00
Jinseong Jeon cd4a08cb18 Migrate ReadWriteAccess and checker logic (from frontend-independent) 2021-09-09 16:07:09 +02:00
Svyatoslav Scherbina 01272cace3 [K/N] don't rely on expression type when lowering value constructor calls
Because of generics, these types don't exactly match the actual types in
generated code, and autoboxing can't fix this because this happens after
it.

^KT-48381 Fixed
2021-09-09 13:56:36 +00:00
Elena Lepilkina aaf666e0e1 [K/N] Turn on mimalloc by default for experimental MM 2021-09-09 13:41:37 +00:00
Alexander Udalov 64b911ea5e JVM IR: do not optimize casts for primitives in TypeOperatorLowering
#KT-48659 Fixed
2021-09-09 15:06:57 +02:00
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