Nikolay Lunyak
5607be3920
[FIR] Add support for INAPPLICABLE_JVM_NAME diagnostic
2021-09-09 20:00:36 +03:00
Nikolay Lunyak
5ebad97cd5
[FIR] Add support for ILLEGAL_JVM_NAME diagnostic
2021-09-09 19:58:16 +03: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
Alexander Udalov
64b911ea5e
JVM IR: do not optimize casts for primitives in TypeOperatorLowering
...
#KT-48659 Fixed
2021-09-09 15:06:57 +02:00
Dmitry Gridin
862e87b1ba
JavaElementFinder: support repeatable annotation container
...
^KTIJ-19318
2021-09-09 11:17:35 +00:00
Igor Laevsky
00f61978b8
WASM: Enable exception handling tests
2021-09-08 19:56:38 +03:00
Igor Laevsky
d99473fe4d
WASM: Canonicalize catches without finally blocks
2021-09-08 19:56:35 +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
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
Dmitry Gridin
724194dec0
[ULC] fix testData in the plugin (related to repeatable annotation)
2021-09-08 19:50:40 +07: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
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
Dmitry Gridin
11e71e4e27
[ULC] support repeatable annotation and container
...
^KTIJ-19318
2021-09-07 12:47:24 +00:00
Dmitriy Novozhilov
661d89c67f
[FIR] Fix diagnostic message rendering for OVERRIDE_DEPRECATION
2021-09-07 14:11:46 +03:00
Dmitriy Novozhilov
9f4abd8ff7
[FE 1.0] Fix diagnostic message rendering for OVERRIDE_DEPRECATION
2021-09-07 14:11:45 +03:00
Dmitry Petrov
860c80d210
JVM_IR add bytecode shape check to all relevant for-loop tests
2021-09-06 22:16:41 +03:00
Dmitry Petrov
d9e4dec810
JVM_IR reuse loop variable as index variable should happen after LDL
...
We can't apply "reuse loop variable as index variable" transformation
before local declarations lowering, otherwise it will affect captured
loop variable behavior, resulting in KT-48626.
Since it's JVM-specific, move it to JvmOptimizationLowering.
2021-09-06 22:16:40 +03:00
Sergej Jaskiewicz
f62ffeaa0a
[JS, Frontend] Forbid @JsExporting inline/value classes
...
Previously the compiler would just crash.
#KT-46202 Fixed
2021-09-06 16:13:00 +03:00
pyos
c522543e44
FIR: mute a blackbox test that fails due to another case of #3747
2021-09-06 13:11:17 +03:00
pyos
9bb7a29baa
FIR: disregard enhancements for warnings
...
Warnings are not implemented yet, so don't produce errors either.
2021-09-06 13:11:16 +03:00
pyos
a475453a01
FIR: enable useCorrectedNullabilityForFlexibleTypeParameters
...
It's necessary for correct substitution of `T & Any` with `T = V..V?`.
2021-09-06 13:11:16 +03:00
pyos
a2e2545e3f
FIR: update loadJava tests
2021-09-06 13:11:14 +03:00
pyos
090b90f62e
FIR: load type qualifiers from module, package, and parent classes
2021-09-06 13:11:13 +03:00
pyos
24210aacc8
FIR: use JSR-305 state from command line flags
2021-09-06 13:11:13 +03:00
pyos
09c34eaa7b
FIR: unmute some more blackbox tests
2021-09-06 13:11:09 +03:00
pyos
2847de10ac
FIR: enhance Java super types
2021-09-06 13:11:09 +03:00
pyos
03304bce96
FIR: enhance Java type parameter bounds
...
This also fixes handling of self-recursive types.
TODO: fix jspecify/{strict,warn}Mode/Captured.fir.kt
2021-09-06 13:11:08 +03:00
pyos
e2a48d3945
FIR: use frontend-independent Java type qualifier computation
2021-09-06 13:11:07 +03:00
pyos
e385484994
FIR: when translating raw types, reuse computed upper bounds
...
Also, don't bother ensuring that the upper bound has the same tree size
as the lower bound; the new index computation can handle it when some
subtrees of the lower bound are replaced by star projections in the
upper bound.
2021-09-06 13:11:06 +03:00
pyos
5704dffdbe
FIR: attach annotations to Java-converted cone types
2021-09-06 13:11:03 +03:00
pyos
5355d04553
FIR: enhance in/out-variant type arguments
2021-09-06 13:11:03 +03:00
pyos
8e122397b0
FIR: fix type index computation during enhancement
...
1. in/out type parameters count;
2. star projections take up 1 space in the tree.
2021-09-06 13:11:02 +03:00
pyos
5fec9f34b1
FIR: revert a hack that allows overriding T!! with T
...
1. this should've been only done if the language feature for validating
that is disabled;
2. that feature probably won't matter by the time FIR is stable;
3. it only worked because type enhancement of type arguments is broken
anyway - a more correct hack would be to provide a custom
ConeTypePreparator.
2021-09-06 13:11:01 +03:00
Alexander Udalov
a06fc20680
JVM IR: erase parameter default value when copying it to bridge
...
#KT-48391 Fixed
2021-09-03 15:00:44 +02:00
pyos
7ce5556de3
JVM_IR: try to fix SyntheticAccessorLowering.isAccessible again
...
The condition on the relationship between the current class and the type
of the receiver for protected members was the opposite of what the JVMS
says, and yet somehow mostly worked?
#KT-48331 Fixed
#KT-20542 Fixed
2021-09-03 15:54:16 +03:00
Alexander Udalov
9a472c418f
JVM IR: generate private @JvmStatic functions as in old backend
...
#KT-46181 Fixed
2021-09-03 14:45:28 +02:00
Mikhail Glukhikh
b8c3b34886
FE 1.0: don't spread OptIn markers to children #KT-48570 Fixed
2021-09-03 15:40:45 +03:00
Pavel Punegov
5bc6d937e8
[Native][Tests] Ignore test in Native backend
...
This test fail in the new MM
2021-09-03 10:52:10 +00:00
Dmitry Petrov
b669de1663
JVM_IR generate range-based loop closer to Java counter loop
...
KT-48435 KT-48507
2021-09-03 10:38:20 +03:00