Tianyu Geng
d3e8cc577c
FIR checker: fix local type approximation on delegated property
...
Previously types of delegated property is not approximated, which can
cause local types to leak through public APIs.
2021-09-16 22:38:08 +03:00
Tianyu Geng
76e192fc8a
FIR Checker: check AMBIGUOUS_ANONYMOUS_TYPE_INFERRED
...
Also change
org.jetbrains.kotlin.fir.types.TypeUtilsKt#hideLocalTypeIfNeeded to skip
approximating anonymous objects if there are multiple super type refs so
that resolution behaves the same (for uncompilable code).
Note that this change does not implement check for
ApproximateAnonymousReturnTypesInPrivateInlineFunctions as the check is
already turned on in 1.5 and will likely not needed when FIR becomes
stable.
2021-09-16 22:38:06 +03:00
Igor Laevsky
6432388778
[WASM] Don't handle ref.cast of nulls. Spec was updated a while ago
2021-09-16 20:24:45 +03:00
Igor Laevsky
15668e2266
[WASM] Lower Unit to Void in order to mark statements with no result
2021-09-16 20:24:44 +03:00
Igor Laevsky
9685695769
[WASM] Fold redundant patterns with drop instruction on a wasm level
2021-09-16 20:24:43 +03:00
Igor Laevsky
1db45faba2
[WASM] NFC. Fold instructions from the wasm expression builder
2021-09-16 20:24:42 +03:00
Abduqodiri Qurbonzoda
718965227e
Advance deprecation level of K/N StringBuilder renamed functions to ERROR #KT-46101
2021-09-16 19:45:04 +03:00
Abduqodiri Qurbonzoda
bde055fe5c
Advance deprecation level of Float/DoubleArray contains, indexOf, lastIndexOf to ERROR #KT-28753
2021-09-16 19:38:40 +03:00
Abduqodiri Qurbonzoda
3ddc29363a
Remove deprecated Common synchronized and deprecate it in JS #KT-46101
2021-09-16 19:38:37 +03:00
Abduqodiri Qurbonzoda
7e1cd757fb
Advance max/min(By/With) deprecation level to HIDDEN #KT-38854
2021-09-16 19:38:35 +03:00
Abduqodiri Qurbonzoda
d9f8ce899a
Promote rotateLeft and rotateRight to stable
2021-09-16 19:27:21 +03:00
Abduqodiri Qurbonzoda
34a50e4e34
Promote regex splitToSequence to stable
2021-09-16 19:26:33 +03:00
Alexander Likhachev
453d263393
[Gradle, JVM] Add test that JVM target is untouched with no toolchain
2021-09-16 13:26:13 +00:00
Alexander Likhachev
aa52a60f45
[Gradle, JVM] Validate JVM targets even if compiler isn't called
...
Previously the validation was inconsistent allowing non-incremental builds without Kotlin sources to pass successfully with JVM target misconfiguraiton but fail incremental builds
#KT-48408 Fixed
2021-09-16 13:26:13 +00:00
Alexander Likhachev
2a77da4caa
[Gradle, JVM] Add test for KT-48408
2021-09-16 13:26:12 +00:00
Alexander Likhachev
612b96bd54
[Daemon] Introduce the way to get Kotlin daemon compiler version
...
#KT-48294 In Progress
2021-09-16 13:25:18 +00:00
Abduqodiri Qurbonzoda
815329df15
Remove private KTypeProjection.asString() that duplicates toString() logic
...
KT-30071 has been already fixed.
2021-09-16 11:39:07 +00:00
Svyatoslav Kuzmich
0abc798da9
[Wasm] Add JS interop tests
2021-09-16 14:20:35 +03:00
Svyatoslav Kuzmich
a32b86d016
[Wasm] Simple support for external classes and interfaces
...
* Map these types to Wasm externref
* Don't generate any declaration code for now
Casting and accessing members is not supported yet
2021-09-16 14:20:35 +03:00
Svyatoslav Kuzmich
35a5c9ea71
[Wasm] Support exporting functions via @kotlin.js.JsExport
...
Previously we exported main function only.
Extend this feature to arbitrary number of annotated functions.
Type restrictions and conversions are similar to imported functions.
2021-09-16 14:20:35 +03:00
Svyatoslav Kuzmich
de7fa8c778
[Wasm][Stdlib] Add kotlin.js.JsExport annotation
2021-09-16 14:20:34 +03:00
Svyatoslav Kuzmich
a384ba6442
[Wasm IR] Add data heap type
2021-09-16 14:14:58 +03:00
Svyatoslav Kuzmich
c0d48e3417
[Wasm] Support external functions
2021-09-16 14:14:58 +03:00
Svyatoslav Kuzmich
7e399202a2
[Wasm] Support generating browser-compatible JS harness
...
* Use fetch and instantiateStreaming
* Call main export if it is present
* Produce a variable with module name that contains a
promise of module exports
2021-09-16 14:14:58 +03:00
Igor Chevdar
e194a07358
[tests] Added some tests
2021-09-16 10:54:14 +00:00
Igor Chevdar
cc75b45479
[K/N][IR] Fix for https://youtrack.jetbrains.com/issue/KT-47669
...
Outer this references should be lowered before inliner
2021-09-16 10:54:14 +00:00
Yahor Berdnikau
03db8e9c43
Fix 'kotlinOptions.jdkHome' deprecation message typo.
...
Use proper DSL example how-to set toolchain.
^KT-48768 Fixed
2021-09-16 11:51:32 +02:00
Andrey Uskov
8f963bed7c
Optimized performance of recordPackageLookup
...
#KT-47909 Fixed
2021-09-16 12:07:55 +03:00
Elena Lepilkina
45493b6542
[IR] Support simple cases of inlining fake override getters/setters
2021-09-16 07:55:15 +00:00
Jinseong Jeon
35409fdb8d
FIR IDE: resolve arrayOf calls in annotations
2021-09-15 22:33:20 +02:00
Jinseong Jeon
068e81570d
FIR IDE: type-aware constant conversion
2021-09-15 22:32:12 +02:00
Ilmir Usmanov
9e4f234941
Minor. Add space after when
...
Co-authored-by: Louis CAD <louis.cognault@gmail.com >
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
755b92b0e9
Document coroutines codegen. Remove mentions of experimental coroutines
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
4d1545d522
More minor changes
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
6a150fffe6
Minor spelling changes
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
de3ffc4a89
Remove obsolete FIXME
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
0372d9050a
Clarify tail-call optimization for functions returning Unit
...
Review fixes.
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
1cdae75dc3
Document coroutines codegen: debug
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
995062cb19
Document coroutines codegen: callable references
...
returning inline classes
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
fce06305b9
Document coroutines codegen: inliner part 3: returning inline classes
...
Update the information, mention, that there are two markers, not just
one
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
7d41451fba
Document coroutines codegen: inliner part 3: minor grammar fixes
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
a736d4fef1
Document coroutines codegen: callable references
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
3276ef6cf8
Document coroutines codegen: Returning Inline Classes
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
25af290266
Document coroutines codegen: inliner part 3: crossroutines
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
ddaab2c2bb
Document coroutines codegen: inliner part 2
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
771b0c006f
Document coroutines codegen: inliner part 1
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
e2c5f9d245
Document coroutines codegen: functions
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
a8aac955d9
Document coroutines codegen: split long lines
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
7263b6e5d6
Document coroutines codegen: rest of suspend lambda
2021-09-15 22:28:32 +02:00
Ilmir Usmanov
0814c5cc93
Document coroutines codegen: superclasses
2021-09-15 22:28:32 +02:00