Ilya Chernikov
ed78183dbd
FIR: use more specific cone error for unresolved user type ref
...
replaces diagnostic with <No name> with specific qualifier
2021-03-24 21:24:18 +01:00
Ilya Chernikov
76b2ca2e96
[minor] FIR: add missing error message
2021-03-24 21:24:17 +01:00
Tianyu Geng
56bec6997c
FIR checker: report SUPERTYPE_NOT_INITIALIZED
...
Combined this and the checker of
SUPERTYPE_INITIALIZED_WITHOUT_PRIMARY_CONSTRUCTOR together.
Also fixed SUPERTYPE_INITIALIZED_WITHOUT_PRIMARY_CONSTRUCTOR incorrectly
repoted as warning instead of error.
2021-03-24 17:48:39 +03:00
Tianyu Geng
6134c00698
FIR: track KtSuperTypeCallEntry in FirDelegatedConstructorCall
...
In PSI world, a call to super type constructor is represented by a
KtSuperTypeCallEntry. Currently FIR tracks the callee reference to this
constructor call.
This is undesirable because
1. We may want to report issues on the call arguments, so FIR must track
the entire call rather than just the callee reference
2. Light tree actually reports the KtSuperTypeCallEntry.
3. Both the FirDelegatedConstructorCall and its `calleeReference` are
currently referencing the same KtConstructorCalleeExpression PSI
element as the source.
This change makes FirDelegatedConstructorCall track the entire
KtSuperTypeCallEntry as the source, if possible.
2021-03-24 17:48:39 +03:00
Tianyu Geng
e1c80ac75c
FIR checker: introduce NO_(GET|SET)_METHOD
...
Besides introducing new diagnostics, this commit unifies source usages
for array accesses in PSI & LT.
2021-03-24 16:25:01 +03:00
pyos
651fd4ad9f
FIR: load Java annotation defaults after binding the class symbol
...
as they can refer to the class itself.
2021-03-24 16:09:25 +03:00
Mikhail Glukhikh
449a79151a
FirNotImplementedOverrideChecker: check also anonymous objects / enums
2021-03-24 16:07:30 +03:00
Mikhail Glukhikh
82b8cc333e
FIR: introduce INVISIBLE_ABSTRACT_MEMBER_FROM_SUPER
2021-03-24 16:07:28 +03:00
Mikhail Glukhikh
9ce8420491
FIR: introduce not implemented checker
2021-03-24 16:07:25 +03:00
Mikhail Glukhikh
9ae41f5c07
FIR: store substitution for properties with implicit return type
2021-03-24 16:07:21 +03:00
Mikhail Glukhikh
4768700600
FIR error repro: property type mismatch in override from light classes
2021-03-24 16:07:20 +03:00
Mikhail Glukhikh
b6f1a442fb
FIR checkers: use ScopeSession from resolve when possible
2021-03-24 16:07:19 +03:00
Jinseong Jeon
c6298398ef
FIR checker: rework VAL_REASSIGNMENT_VIA_BACKING_FIELD(_ERROR)
2021-03-24 16:02:08 +03:00
Victor Petukhov
e0a8e9a664
Do updating calls for all nested builder inference sessions including at the same level
2021-03-24 15:57:47 +03:00
Victor Petukhov
80ac62864d
Don't lose inference session in all the possible locations
2021-03-24 15:57:47 +03:00
Victor Petukhov
7a66e22bb2
Implement top-down completion for nested builder inference calls
...
^KT-42742 Fixed
2021-03-24 15:57:36 +03:00
Dmitriy Novozhilov
fae0aa42c4
[FIR] Update testdata broken in de03124f
2021-03-24 14:11:11 +03:00
Dmitriy Novozhilov
e00e726bcb
[FIR] Add test for KT-45584
2021-03-24 12:56:17 +03:00
Dmitriy Novozhilov
f4afc2ef44
[FIR] Map dispatch receiver type of function in JvmMappedScope
2021-03-24 12:56:16 +03:00
Dmitriy Novozhilov
b0969f626e
[FIR] Rename SyntheticPropertySymbol to FirSyntheticPropertySymbol
2021-03-24 12:56:15 +03:00
Dmitriy Novozhilov
714871e4a5
[FIR2IR] Add proper toString to Fir2IrBindableSymbol
2021-03-24 12:56:15 +03:00
Dmitriy Novozhilov
7dc3be3b9b
[FIR2IR] Replace star projections with upper bounds for SAM conversion types
2021-03-24 12:56:15 +03:00
Dmitriy Novozhilov
de03124f50
[FIR] Fix reporting EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR warning
2021-03-24 12:56:14 +03:00
Dmitriy Novozhilov
3b6d3e5a08
[FIR] Don't record isFromVararg attribute to all properties from constructor
2021-03-24 12:56:13 +03:00
Dmitriy Novozhilov
094287741c
[FIR] Add FirSourceElement.text extension for debug purposes
2021-03-24 12:56:13 +03:00
Dmitry Petrov
4f250ed498
JVM_IR KT-45377 rewrite constants again after AddContinuationLowering
2021-03-23 16:05:24 +03:00
Ilya Kirillov
0f2aca3280
FIR: use session symbolProvider from symbol for getting it's file
2021-03-23 13:41:03 +01:00
Alexander Udalov
b5f9b1dfc0
JVM IR: support inline classes with private constructors from other modules
...
#KT-44723 Fixed
2021-03-22 21:57:07 +01:00
Alexander Udalov
dac218dc39
Minor, regroup compileKotlinAgainstKotlin tests on inline classes
2021-03-22 21:57:04 +01:00
Br0mm
75e4c74256
[FIR] Add FirConstValWithGetterOrDelegateChecker
2021-03-22 15:05:40 +03:00
Ilya Kirillov
93f711e2b8
FIR: extract initializing of containingClassAttr into fun
2021-03-22 12:30:59 +01:00
Ilya Kirillov
9f0af3faba
FIR: fix containigClassAttr for property accessor without body in light tree builder
2021-03-22 12:30:58 +01:00
Ilya Kirillov
801d4a0c77
FIR: initialize containingClassAttr in light tree builder to match RawFirBuilder
2021-03-22 12:30:58 +01:00
Ilya Kirillov
dcf64779a9
FIR: add declaration attributes checking to rawFirBuilder/lightTree tests
2021-03-22 12:30:58 +01:00
Ilmir Usmanov
164e9034d1
IC MPP: Allow expect value classes without @JvmInline
...
#KT-45525 Fixed
2021-03-22 11:13:13 +00:00
Ilya Kirillov
010f1cb634
FIR IDE: build KtJavaFieldSymbol only for Java fields
2021-03-22 11:27:22 +01:00
Igor Yakovlev
25929b50d9
[FIR IDE] RawFirBuilder for lazy bodies
2021-03-21 10:42:29 +01:00
Dmitry Petrov
9e30ddd12e
JVM_IR KT-45581 generate H_INVOKEINTERFACE for interface method handles
2021-03-19 18:57:21 +03:00
Dmitry Petrov
73d4fa65ea
JVM_IR KT-45431 don't optimize out $$delegatedProperties in companion
...
Corresponding delegates are initialized in the host class, using
'$$delegatedProperties'.
TODO figure out proper code generation scheme for delegated properties
in companions (KT-45580)
2021-03-19 18:54:01 +03:00
Dmitry Petrov
f6baabd98e
JVM_IR KT-45408 rewrite static calls recursively
2021-03-19 18:53:59 +03:00
Ivan Kylchik
3e66d12bef
[FIR] Change some raw-fir test files to make them correct
...
"correct" means that these files can be compiled. This change is
necessary for visualizer. Don't want to ignore these test files,
so they must not produce errors.
2021-03-19 18:30:08 +03:00
Victor Petukhov
60f2f85be7
Process captured types with type variable inside properly, in the operations related with the type variables fixation
2021-03-19 16:16:11 +03:00
Victor Petukhov
a2b1aa753b
Substitute captured types with type variables properly
...
^KT-44687 Fixed
2021-03-19 16:16:09 +03:00
Roman Golyshev
76ff106458
FIR: Add collecting top-level scopes of the file
...
It will be useful in the completion when we need to dicide if we
need to import FQN or not
2021-03-19 12:37:42 +03:00
Ilya Goncharov
88abb3d6c9
[JS IR] Fix creating of classes extended from nested one
...
[JS IR] Extract getClassRef method
^KT-44950 fixed
2021-03-18 21:14:00 +03:00
Steven Schäfer
d0424465b8
JVM IR: Resolve fake overrides when calculating return types (KT-44867)
2021-03-18 16:02:35 +01:00
Roman Artemev
9632839253
[JVM IR] Add jvm box test for KT-45297
2021-03-18 16:50:27 +03:00
Roman Artemev
0a4f2bc39c
[IR] Add irText test for KT-45297
2021-03-18 16:50:22 +03:00
Dmitry Petrov
ac6232b4ba
JVM_IR KT-36853 patch parents after tailrecPhase
2021-03-18 15:19:24 +03:00
Dmitriy Novozhilov
fc2d294b6c
[FIR] Fix tower priorities for invoke resolve
...
#KT-45316 Fixed
2021-03-18 10:24:57 +03:00