Jinseong Jeon
7ef1c74bbf
FIR2IR: apply adapted reference conversion to coercion-to-unit
2020-08-05 17:07:27 +03:00
Mikhail Glukhikh
5f80bfd5d4
[FIR] Don't report UNINITIALIZED_VARIABLE on lateinit local variable
2020-08-05 16:47:51 +03:00
Mikhail Glukhikh
f1356a809e
Fir2IrLazySimpleFunction: generate overridden symbols via FirTypeScope
2020-08-05 12:11:33 +03:00
Victor Petukhov
f45de9d8fb
NI: approximate not top-level captured types during code generation
...
^KT-40693 Fixed
2020-08-05 10:36:36 +03:00
Mikhail Zarechenskiy
a45f73867a
Add compatibility resolve when SAM conversion was applied partially
...
#KT-40646 Fixed
2020-08-05 00:03:33 +03:00
Sergey Igushkin
070848a1c1
Fix typealias usage nullability and annotations lost in deserialization
...
This fixes a regression introduced by the commit 4b0da0688a which made
deserializer expand typealiases but didn't take nullability and use site
annotations into account.
Issue #KT-40824 Fixed
2020-08-05 00:19:52 +04:00
Nick
f74eb07203
[FIR] Fix incorrect diagnostic behaviour + several enum diagnostics
2020-08-04 22:28:49 +03:00
Nick
b76f757d47
[FIR] Add diagnostic for missing primary constructor
2020-08-04 22:28:49 +03:00
Nick
0f213e58db
[FIR] Add diagnostic for primary constructor not called
2020-08-04 22:28:48 +03:00
Nick
bb0e1b7390
[FIR] Add diagnostic for constructor delegation cycles
2020-08-04 22:28:48 +03:00
Mikhail Glukhikh
e841b3a77b
[FIR] Add diagnostic collection to KotlinToJVMBytecodeCompiler
2020-08-04 22:27:18 +03:00
Mikhail Glukhikh
9c3b8484b9
[FIR TEST] Add CLI test with should-be-error (not yet)
2020-08-04 22:27:18 +03:00
Ilmir Usmanov
824991a9dd
Minor. Add tests.
2020-08-04 15:42:38 +02:00
Ilmir Usmanov
bbd4c21595
Cleanup spilled variables
...
#KT-16222
2020-08-04 15:42:37 +02:00
Ilmir Usmanov
405c9743ef
Do not spill dispatch receiver of suspend functions if it is not used
...
#KT-20571
2020-08-04 15:42:36 +02:00
Jinseong Jeon
5db7957230
FIR2IR: use type arguments from fully expanded type
2020-08-04 14:44:38 +03:00
Victor Petukhov
af48f08f9c
NI: take into account flexible types during capturing arguments from expression
...
^KT-40544 Fixed
2020-08-04 12:38:04 +03:00
Mikhail Glukhikh
181a8bb79e
[FIR TEST] Mute failing BB test with Byte/Short.and usage
2020-08-04 08:59:16 +03:00
Ivan Kylchik
0a28e5e031
Add argument unwrapping for case when argument is named
2020-08-04 08:59:15 +03:00
Mikhail Glukhikh
2e2099afae
[FIR] Introduce NOT_AN_ANNOTATION_CLASS diagnostic
2020-08-04 08:59:15 +03:00
Mikhail Glukhikh
8fd087a964
[FIR] Don't report duplicated UNRESOLVED_REFERENCE on annotation entries
2020-08-04 08:59:15 +03:00
Mikhail Glukhikh
8379b3794a
[FIR2IR] Return fallback mode for annotation resolved placeholder
2020-08-04 08:59:15 +03:00
Dmitriy Novozhilov
b63257345b
[FIR] Map Class to KClass in java annotations
2020-08-04 08:59:15 +03:00
Dmitriy Novozhilov
721b9b4d8c
[FIR] Resolve annotations as calls
2020-08-04 08:59:14 +03:00
Dmitriy Novozhilov
bc1fa8ed7f
[FIR] Add constructor for java annotations
2020-08-04 08:59:14 +03:00
Dmitriy Novozhilov
ffd30566be
[FIR] Add FirErrorResolvedQualifier for qualifiers with resolve diagnostic
2020-08-04 08:59:14 +03:00
Jinseong Jeon
0e54f98b79
FIR: support adapted callable reference with vararg
2020-08-03 16:37:36 +03:00
Mikhail Glukhikh
4332e95b8a
[FIR] Don't transform setter parameter type if it's given explicitly
2020-08-03 16:37:30 +03:00
Mikhail Glukhikh
39d4b79324
[FIR TEST] Fix FE 1.0 / FIR test data for nested / local type alias case
2020-08-02 18:19:47 +03:00
Mikhail Glukhikh
951aa8185e
[FIR] Avoid duplicate diagnostics on expression.typeRef
2020-08-02 18:19:47 +03:00
Mikhail Glukhikh
6eab6f2f87
[FIR TEST] Replace OTHER_ERROR with UNRESOLVED_REFERENCE in test data
2020-08-02 18:19:47 +03:00
Nick
c55cdf1935
[FIR] Fix missing ErrorTypeRef for QA and clean DiagnosticCollector
2020-08-02 18:19:46 +03:00
Nick
7086b0cbf3
[FIR] Don't report duplicated errors in component calls typeRefs
2020-08-02 18:19:46 +03:00
Nick
4ceae8dc5e
[FIR] Don't report duplicated errors in function calls typeRefs
2020-08-02 18:19:46 +03:00
Nick
6f85a07290
[FIR] Don't report duplicated errors in property declarations
2020-08-02 18:19:46 +03:00
Nick
889324e972
[FIR] Ignore failing test, improve DiagnosticKind, fix UPPER_BOUND
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
9335e09149
[FIR] Don't report duplicated errors in implicit properties / parameters
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
ceaffb1e8b
[FIR] Don't report duplicated errors in implicit primary constructors
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
749346b73b
[FIR] Don't report duplicated errors on default accessor error type refs
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
e0d25876b0
[FIR] Don't report simple diagnostics on fake sources
2020-08-02 18:19:44 +03:00
Mikhail Glukhikh
551bdd267d
[FIR] Introduce WRONG_NUMBER_OF_TYPE_ARGUMENTS diagnostic
2020-08-02 18:19:44 +03:00
Mikhail Glukhikh
0804c6a0f3
[FIR] Introduce TYPE_ARGUMENTS_NOT_ALLOWED & some other type errors
...
This commit introduces several different things, in particular:
- check type arguments in expressions
- new TypeArgumentList node to deal with diagnostic source
- ConeDiagnostic was moved to fir:cones
- ConeIntermediateDiagnostic to use in inference (?) without reporting
- detailed diagnostics on error type
2020-08-02 18:19:44 +03:00
Jinseong Jeon
c744dfba9c
FIR: distinguish anonymous object as enum entry when scoping
...
so that `this` reference with the enum entry name as label can be
resolved
2020-08-02 18:06:15 +03:00
Jinseong Jeon
52631b7abd
FIR2IR: make local storage track scopes, including anonymous init
2020-08-02 18:05:09 +03:00
Nick
26e3a111d6
[FIR] Add diagnostics for object related problems
2020-07-31 19:34:55 +03:00
Nick
7145caca40
[FIR] Refactor effective visibility calculation
...
Before this commit, we had effective visibility as a part of FIR status,
so it was integrated into the full pipeline. In this commit,
we introduced "effective visibility as a service" which is now used
only by exposed visibility checker. This allows us to make the thing
universal for all FIR nodes, including nodes for Java / deserialized.
2020-07-31 19:27:58 +03:00
Steven Schäfer
b15e32936e
JVM IR: Optimize delegated properties (KT-36814)
2020-07-31 19:00:27 +03:00
Ilmir Usmanov
4d21a496fe
Minor. Update tests
2020-07-31 14:33:52 +02:00
Dmitry Petrov
e11c90f26c
JVM_IR: KT-40293 Box return type for DefaultImpls methods if required
2020-07-31 14:48:12 +03:00
Ilmir Usmanov
fa8c6deb18
Support restricted suspend lambdas in JVM_IR
...
#KT-40135 Fixed
2020-07-30 20:40:37 +02:00