Dmitriy Novozhilov
624b9306f0
[FIR] Resolve LHS of type operator call in independent context
...
#KT-39046 Fixed
2020-07-02 15:10:51 +03:00
Steven Schäfer
5cdf053c8e
Coroutines: Fix RedundantLocalsEliminationMethodTransformer
...
- Take control flow into account when collecting usage information
- Don't remove stores to local variables
2020-07-02 00:49:28 +02:00
Ilmir Usmanov
697c8637ee
For all int-like typed variables, use int as field type and coerce
...
it during spill-unspill.
Coerce int to boolean, otherwise, VerifyError is thrown on android
Completely rewrite SpilledVariableFieldTypesAnalysis... again,
but this time use BasicInterpreter
This way, the analysis both does not use SourceInterpreter and
is in line with the rest on analyses.
2020-07-01 17:26:47 +02:00
Jinseong Jeon
1e3019798a
FIR2IR: discard fake overrides for property accessors according to base visibility
2020-07-01 13:59:42 +03:00
Mikhail Zarechenskiy
6b81cc8b77
Update test data as stdlib now isn't pre-release
2020-06-30 22:59:23 +03:00
Mikhail Bogdanov
b5b5c8aebc
Check target for -Xjvm-default modes
...
#KT-39925 Fixed
2020-06-30 19:47:06 +02:00
Dmitry Petrov
d37b616e1f
JVM_IR: Fix enum classes ABI
...
1. Enum entry fields don't have nullability annotations.
2. Enum class special methods (values, valueOf) are not 'final'
(although they probably should be, javac generates corresponding
methods without ACC_FINAL flag).
3. Enum class special methods don't have nullability annotations.
4. Don't generate synthetic accessor for enum entry class constructor.
KT-37019 KT-37020 KT-37021
2020-06-30 18:24:25 +03:00
Ilmir Usmanov
7536da788c
Minor. Update test
2020-06-30 16:54:36 +02:00
Jinseong Jeon
34174d6e7d
FIR deserializer: load annotations for property and fields, along with use-site targets
2020-06-30 17:28:22 +03:00
Mads Ager
c3b5b21845
[JVM] Extend stepping tests with <clinit> stepping.
...
In addition, made the stepping information for constructor calls
consistent across JVM_IR and JVM. For JVM_IR that stepping behavior
is consistent for enum constructor calls in <clinit> for JVM it
is not.
2020-06-30 11:18:29 +02:00
Dmitriy Novozhilov
309050d956
[FIR] Add ExtensionFunctionType attribute
...
#KT-39034 Fixed
2020-06-30 11:30:19 +03:00
Alexander Gorshenev
41a472693a
Updated extraHelp test data for the new flags
2020-06-29 21:58:32 +03:00
Ilmir Usmanov
f127a0f593
Add flag to disable new spilled variable type analysis
2020-06-29 20:50:43 +02:00
Ilmir Usmanov
28e6028af4
Minor. Add test
2020-06-29 20:13:40 +02:00
Dmitry Petrov
e4198466b8
JVM_IR: No nullability annotations on static lambda instances
2020-06-29 19:32:03 +03:00
Dmitry Petrov
eefa621c56
JVM_IR KT-37006: InlineOnly property accessors are private in bytecode
2020-06-29 19:08:58 +03:00
Alexander Udalov
b94a4d9fc3
Render more information on inner classes in bytecode listing tests
2020-06-29 17:33:39 +02:00
Mikhail Glukhikh
d798071e06
IrConstTransformer: drop unnecessary argument existence check
2020-06-29 16:31:24 +03:00
Jinseong Jeon
c3fc524c0d
FIR: handle named arguments in annotations properly
2020-06-29 16:23:03 +03:00
Mikhail Glukhikh
4f36697737
[FIR2IR] Mute 2 BB tests failing due to signature clashing
2020-06-29 16:08:26 +03:00
Mikhail Glukhikh
c4d41f48a3
[IR] Allow Fir2Ir symbols in function factory
2020-06-29 16:08:12 +03:00
Mikhail Glukhikh
90f9b9c1c9
[FIR2IR] Unmute 6 fixed BB tests
2020-06-29 16:08:09 +03:00
Mikhail Glukhikh
fcabd02fe8
[FIR] Take class expect flag into account in its substitution scope
2020-06-29 16:08:00 +03:00
Mikhail Glukhikh
c1609ed490
[FIR] Make expect class members also expect
2020-06-29 16:07:50 +03:00
Mikhail Glukhikh
9a0e763761
[FIR2IR] Require classId from parent class for fake overrides
2020-06-29 16:07:48 +03:00
Mikhail Glukhikh
bf009a4949
[FIR2IR] Handle delegating constructor call type arguments properly
2020-06-29 16:07:30 +03:00
Mikhail Glukhikh
2cffbadbd5
[FIR2IR] Use overridden symbol when handling delegating constructor call
2020-06-29 16:07:29 +03:00
Ivan Kylchik
de2b20482a
Allow IrConstTransformer to visit and evaluate vararg elements
2020-06-29 15:27:25 +03:00
Ivan Kylchik
6fa03297f9
Allow IrConstTransformer to visit annotations of all declarations
2020-06-29 15:27:25 +03:00
Mikhail Zarechenskiy
032fdd63d9
Ignore codegen test for Android
...
There is no such method as java.util.List.stream
2020-06-29 15:26:20 +03:00
Mikhail Zarechenskiy
9be8c5b527
Update test data about built-ins
2020-06-29 14:25:09 +03:00
Mikhail Zarechenskiy
a2da00eb49
Prohibit using DeprecatedSinceKotlin outside kotlin subpackage
2020-06-29 14:25:08 +03:00
Mikhail Zarechenskiy
790433984b
Prohibit using DeprecatedSinceKotlin annotation without arguments
2020-06-29 14:25:08 +03:00
Mikhail Zarechenskiy
67100d5ebe
Reject values of DeprecatedSince.. that are not parseable as a version
2020-06-29 14:25:07 +03:00
Mikhail Zarechenskiy
5d88058928
Place DeprecatedSinceKotlin annotation under 1.4 version
2020-06-29 14:25:06 +03:00
Mikhail Zarechenskiy
2f55a3fa0d
Add various test for DeprecatedSinceKotlin annotation
2020-06-29 14:23:26 +03:00
Mikhail Zarechenskiy
158013ef3a
Remove message and replaceWith parameters from DeprecatedSinceKotlin
2020-06-29 14:22:33 +03:00
Mikhail Zarechenskiy
60c51476f2
Introduce declaration checker for DeprecatedSinceKotlin annotation
...
- DeprecatedSinceKotlin annotation should only be applicable when
there's `@Deprecated` annotation on the same declaration
- Deprecation level shouldn't be specified in the relevant
`@Deprecated` annotation
- Check that warningSince <= errorSince <= hiddenSince
2020-06-29 14:22:32 +03:00
Alexander Udalov
0aaf29c045
Introduce DeprecatedSinceKotlin annotation
...
This annotation will be used in the standard library to prevent the new
compiler from reporting deprecation diagnostics in case an older API
version is used (where the declaration was not deprecated yet).
#KT-23575 Fixed
2020-06-29 14:22:29 +03:00
Dmitriy Novozhilov
7834284bec
[FIR] Support deserialization of value parameter annotations
...
There are still some problems, see KT-39837
2020-06-29 12:19:03 +03:00
Dmitriy Novozhilov
9c6ed2ea02
[FIR] Complete delegate calls in default inference session
2020-06-29 12:19:02 +03:00
Dmitriy Novozhilov
dbbb999952
[FIR] Support builder (coroutine) inference
...
#KT-37431 Fixed
2020-06-29 12:19:02 +03:00
Dmitriy Novozhilov
6a9504f26a
[FIR-TEST] Add coroutines diagnostic tests from old FE to FIR test suite
2020-06-29 12:19:02 +03:00
Abduqodiri Qurbonzoda
d3fb9cc5f3
Deprecate with error mixed Int/FP contains operator for ranges KT-22423
2020-06-29 12:18:19 +03:00
Georgy Bronnikov
5e115c48b3
Unmute FIR test
2020-06-27 00:25:34 +03:00
Dmitry Petrov
2137a4b1e5
JVM, JVM_IR: no nullability annotations on private and synthetic methods
...
NB it looks like it doesn't cover all cases, e.g., some synthetic
methods generated for suspend functions.
2020-06-26 18:51:35 +03:00
Georgy Bronnikov
5684e694b5
JVM_IR: handle diamond inheritance for Java fields
2020-06-26 18:46:41 +03:00
Anton Bannykh
da79f93c61
JS IR: per-module .js generation support
2020-06-26 17:55:33 +03:00
Denis Zharkov
9668a60151
FIR: Explicitlty separate static and member scopes
...
For Java, they have rather different semantics considering "overrides"
and obtaining functions/properties from supertypes
See the Java statics implementation
2020-06-26 16:52:10 +03:00
Dmitry Petrov
64e47265e1
JVM, JVM_IR: no nullability annotations on lateinit backing fields
2020-06-26 15:08:23 +03:00