Dmitry Petrov
6e9cbf52b1
JVM_IR make $deserializeLambda$ method synthetic
2021-10-23 11:21:26 +03:00
Dmitry Petrov
1dbbe22c8c
JVM_IR serializable indy method references
2021-10-23 11:21:25 +03:00
Svyatoslav Kuzmich
4fc461a2ff
[Wasm] Imporove external interface support
...
* Support boxing/unboxing when casting to Any
* Support ===, equals, hashCode, toString
* Support adapting String in interop boundary
2021-10-23 01:26:12 +03:00
Mikhail Glukhikh
7b9ac4c5f7
FIR: create constructors copies with correct containers in JvmMappedScope
...
#KT-49133 Fixed
2021-10-23 01:17:10 +03:00
Dmitry Petrov
d5f6674d2d
JVM_IR KT-49335 run RepeatedAnnotationLowering per module
...
Otherwise, we drop annotation constructors in AnnotationLowering,
which breaks RAL in case of annotation container declared in different
file.
2021-10-21 21:22:36 +03:00
Dmitriy Novozhilov
a2b8493f47
[FE 1.0] Prohibit using non exhaustive if and when in rhs of elvis expression
...
^KT-44705
^KT-49349 Fixed
2021-10-21 19:39:51 +03:00
Dmitriy Novozhilov
06a26a5a74
[FE 1.0/FIR] Fix message of SEALED_SUPERTYPE_IN_LOCAL_CLASS diagnostic
...
^KT-46285 Fixed
2021-10-21 19:39:49 +03:00
Dmitriy Novozhilov
94664694df
[FIR] Prohibit confusing syntax inside when branches
...
^KT-48385
2021-10-21 19:39:46 +03:00
Dmitriy Novozhilov
f52361ac2b
[FE 1.0] Properly report NON_TRIVIAL_BOOLEAN_CONSTANT on parenthesized expressions
...
^KT-39883
2021-10-21 19:39:39 +03:00
Dmitriy Novozhilov
1513e739c6
[FE 1.0] Prohibit confusing syntax inside when branches
...
^KT-48385 Fixed
2021-10-21 19:39:36 +03:00
Tianyu Geng
c262f17d75
FIR checker: report violations related to API mode
2021-10-21 00:01:14 +03:00
Tianyu Geng
52b247937e
FIR checker: fix positioning of CONFLICTING_IMPORT
...
FE1.0 puts it on the alias when applicable.
2021-10-21 00:00:29 +03:00
Denis.Zharkov
4ad5f01324
FIR: Support overrides of generic-typed members with raw-typed ones
...
^KT-49070 Fixed
2021-10-20 22:05:25 +03:00
Denis.Zharkov
a0a57581ec
FIR: Do not add alias for variables with explicit type
2021-10-20 22:05:24 +03:00
Denis.Zharkov
fba44759c0
FIR: Refine visibility check for class members
2021-10-20 22:05:23 +03:00
Ilmir Usmanov
2b8963455f
Use a separate diagnostic for 'suspend fun' sequence
...
instead of reusing existing one, since existing one
is ERROR, and we cannot turn code red without deprecating
it with WARNING.
#KT-49264
2021-10-20 18:12:10 +02:00
Nikolay Lunyak
dbfe3524ce
[FIR] Add FirDelegateUsesExtensionPropertyTypeParameterChecker
2021-10-20 16:49:51 +03:00
Mikhail Glukhikh
29e4c299e7
FIR: add & use hasExplicitParameterList to anonymous functions
...
#KT-49134 Fixed
2021-10-19 11:58:23 +03:00
Ilmir Usmanov
3f8fa3149b
Support extensions in functional supertypes
...
Under a flag for now.
2021-10-18 18:53:26 +03:00
Sergej Jaskiewicz
9e5520bba8
[JS IR & WASM] Fix executing init blocks for enums with nested objects
2021-10-18 13:37:16 +00:00
Abduqodiri Qurbonzoda
a3755a8e94
@UseExperimental -> @OptIn in compiler testData
2021-10-17 21:14:37 +00:00
Mads Ager
e9c9d5731e
[JVM] Port Stepping and LocalVariable tests to new test infra.
...
This is in preparation for enabling the tests for FIR which will
be easier to do when the tests are on the new infrastructure.
2021-10-15 20:03:54 +03:00
Mark Punzalan
167dc81d3b
FIR/Analysis API: Get parameter name from function type notation or
...
`@ParameterName` annotation, which is also now added during type
resolution.
2021-10-15 16:19:00 +03:00
Dmitry Petrov
af18b10da9
JVM_IR KT-49203 generate stubs for not found classes
2021-10-15 12:15:49 +03:00
Mikhail Glukhikh
c5a4a5de42
Make FirArrayOfCallTransformer recursive #KT-49076 Fixed
2021-10-15 01:24:49 +03:00
Mikhail Glukhikh
ad3502a952
Don't refer self function in Fir2IrLazySimpleFunction.initialSignature
...
This commit prevents stack overflow in MethodSignatureMapper
#KT-49222 Fixed
2021-10-15 01:24:49 +03:00
Artem Kobzar
99688e5c80
test(KT-47096): add tests for the uncovered behavior.
2021-10-14 14:57:35 +00:00
Igor Laevsky
50ca86838f
[WASM] Fix build
2021-10-14 17:24:07 +03:00
Igor Laevsky
cb5bef1535
[Wasm] Remove unnecessary testHelpers and add assertions from stdlib
2021-10-14 17:24:06 +03:00
Igor Laevsky
e331a52e75
[Wasm] Mute/unmute box tests after kotlin.test support
2021-10-14 17:24:05 +03:00
Dmitry Petrov
6ba65065ee
JVM add tests for KT-48544 & KT-49226
2021-10-14 17:23:12 +03:00
Artem Kobzar
d2e5523180
test: adapt genericParameterResult.kt test for JS IR backend.
2021-10-14 14:05:39 +00:00
Ilmir Usmanov
559d7015f7
Extend NON_MODIFIER_FORM_FOR_BUILT_IN_SUSPEND diagnostic
...
to include "suspend fun" token sequence as well
2021-10-14 12:44:18 +00:00
Sergej Jaskiewicz
55ae6d1f3e
[JS IR] Optimize pattern-matching of enums into comparing their ordinals
...
For this code:
```
enum class Season {
WINTER,
SPRING,
SUMMER,
AUTUMN
}
fun bar1(x : Season) : String {
return when (x) {
Season.WINTER, Season.SPRING -> "winter_spring"
Season.SUMMER -> "summer"
else -> "autumn"
}
}
```
previously we generated this:
```
function foo(x) {
var tmp0_subject = x;
return (tmp0_subject.equals(Season_WINTER_getInstance())
? true
: tmp0_subject.equals(Season_SPRING_getInstance()))
? 'winter_spring'
: tmp0_subject.equals(Season_SUMMER_getInstance())
? 'summer'
: 'autumn';
}
```
And now we generated this:
```
function bar2(x) {
var tmp0_subject = x;
var tmp0 = tmp0_subject._get_ordinal__0_k$();
var tmp;
switch (tmp0) {
case 0:
case 1:
tmp = 'winter_spring';
break;
case 2:
tmp = 'summer';
break;
case 3:
tmp = 'autumn';
break;
default:
noWhenBranchMatchedException();
break;
}
return tmp;
}
```
2021-10-14 11:44:01 +00:00
Denis.Zharkov
cac69edff2
FIR: Fix forEach resolution within local class
2021-10-14 14:01:51 +03:00
Denis.Zharkov
056657525e
FIR: Temporary support FE 1.0 behavior for SAM vs. generic ambiguity
...
^KT-48300 Relates
^KT-48938 Fixed
2021-10-14 14:01:50 +03:00
Denis.Zharkov
10c5d987d7
FIR: Fix exception on remaining flexible ILT in lambda
...
^KT-49191 Related
2021-10-14 14:01:49 +03:00
Dmitry Petrov
6f33259bc3
PSI2IR KT-49203 INVISIBLE_FAKE setter is non-referenceable
2021-10-13 18:38:23 +03:00
Dmitry Petrov
2a00def84e
JVM_IR make proxy funs for inline and arrayOf funs non-synthetic
2021-10-13 16:07:53 +03:00
Svyatoslav Kuzmich
4e74e9baee
[Wasm] Add test for KT-49182
2021-10-13 15:30:00 +03:00
Alexander Udalov
357f3184bf
JVM IR: fix the type of IrGetField
...
The `irGetField` utility uses the field's own type as the type of the
resulting expression. But the field's type does not make sense outside
of the place of declaration of the field if it references a generic type
parameter of the containing class. Using this non-sensical generic type
led, for example, to an error in Ieee754 intrinsic (KT-48648).
The type of the expression should be kept as is in
JvmPropertiesLowering, i.e. taken from `expression` which the lowering
is replacing with the field access.
#KT-48648 Fixed
2021-10-12 23:35:17 +02:00
Svyatoslav Kuzmich
279f184703
[JS] Remove failed checks based on unstable naming
2021-10-12 23:29:39 +03:00
Svyatoslav Kuzmich
3f8dce4b53
[JS IR] Support per-file mode and ES modules
2021-10-12 23:29:39 +03:00
Mark Punzalan
4f0b52b653
FIR: Transform annotations on type arguments during body resolve.
2021-10-12 18:56:32 +03:00
Dmitriy Novozhilov
b454fcc1e0
[FIR] Save IR dumps to .ir.txt files instead of .txt in tests
...
This is needed to avoid clashes between different dumps from different
handlers
2021-10-12 17:26:36 +03:00
Mikhail Glukhikh
7243d30869
Split property use-site targets during FIR building
2021-10-12 16:22:58 +03:00
Mikhail Glukhikh
2a9a1dbb86
FIR: allow diagnostic collection on default property accessors
2021-10-12 16:22:56 +03:00
pyos
226306ac83
IR: check whether local declarations need to throw after Nothing return
...
^KT-48982 Fixed
2021-10-12 15:09:05 +02:00
Dmitry Petrov
a213dad9ab
JVM_IR add more tests for specialized generics and reification
2021-10-12 15:56:38 +03:00
Dmitry Petrov
0098103376
JVM_IR minor: update test
2021-10-12 15:56:36 +03:00