Denis.Zharkov
a883833941
FIR2IR: Use IrDeclarationOrigin.FAKE_OVERRIDE for non-source classes
2021-02-20 10:59:21 +03:00
Denis.Zharkov
d339096ac3
FIR2IR: Introduce and use declarationStorage.getOrCreateIrConstructor
...
It's necessary because constructors of LazyIrClass annotations may be
referenced before members are processed
2021-02-20 10:59:21 +03:00
Denis.Zharkov
fb8314f6e7
FIR: Fix enhancement of property overrides accessors in Java
2021-02-20 10:59:21 +03:00
Denis.Zharkov
45018ea468
FIR: Rework loading overrides of special built-in methods from Java
...
Some of the changed data is correct, but some diagnostics are incorrect
Corner cases like having both contains(Object) and contains(String)
within implementation of Collection<String> is not supported
2021-02-20 10:59:21 +03:00
Denis.Zharkov
4b0aeb7105
FIR2IR: Support initialSignatureDescriptor
...
It will be used for overrides of renamed special built-ins during signature mapping
to obtain initial signature
2021-02-20 10:59:21 +03:00
Denis.Zharkov
23705a269f
FIR: Fix supertype scopes for local classes
...
Do not use ClassId as it can't be a key for local classes
2021-02-20 10:59:21 +03:00
Denis.Zharkov
3e420ca4e3
FIR: Introduce FirDeclarationOrigin.BuiltIns
2021-02-20 10:59:21 +03:00
Denis.Zharkov
893b1045ba
Move some common parts from BuiltinMethodsWithDifferentJvmName to SpecialGenericSignatures
2021-02-20 10:59:21 +03:00
Denis.Zharkov
5d5228cfc5
FIR: Require FirJavaClass in JavaScopeProvider
2021-02-20 10:59:20 +03:00
Denis.Zharkov
04f53d6a23
FIR: Simplify JavaScopeProvider
...
::wrapScopeWithJvmMapped is only needed for built-in classes defined in Kotlin
2021-02-20 10:59:20 +03:00
Denis.Zharkov
6766c8fe47
FIR: Simplify supertypes scopes computation
2021-02-20 10:59:20 +03:00
Denis.Zharkov
31b9be2d01
FIR: Extract ConeKotlinType::scopeForSupertype
2021-02-20 10:59:20 +03:00
Mikhail Glukhikh
1a0be3ee40
Fix FirAnnotationArgumentChecker (String + ... case) #KT-44995 Fixed
2021-02-20 10:31:26 +03:00
Dmitriy Novozhilov
cd8f597e2f
[FIR] Fix building callable reference adaptation against flexible types
...
#KT-45052 Fixed
2021-02-20 10:23:34 +03:00
Dmitriy Novozhilov
469252f6b4
[FIR] Don't create smartcast node if smartcasted type is equal to original type
2021-02-20 10:23:33 +03:00
Dmitriy Novozhilov
1c0d862e40
[FIR] Don't smartcast variables to invisible types
...
#KT-44802 Fixed
2021-02-20 10:23:33 +03:00
Dmitriy Novozhilov
026efca49f
[Test] Add helpers file with functions for inference testing
2021-02-20 10:23:33 +03:00
Aleksei.Cherepanov
d0eeb0535d
Add synchronization to MultiClassFiles maps
2021-02-19 23:54:55 +03:00
Aleksei.Cherepanov
aa683d3b2a
JPS: Fix JvmMultifileClass processing for IR backend
...
#KT-44644 Fixed
2021-02-19 23:54:53 +03:00
Ilya Kirillov
ca4ec997ee
FIR IDE: split KtAnalysisSession into mixins
2021-02-19 19:52:46 +01:00
Ilya Kirillov
141b6b0e55
FIR IDE: use different .after testdata for AbstractHLIntentionTest.kt
2021-02-19 16:44:50 +01:00
Ilya Kirillov
42103b7363
FIR IDE: use correct denotable type approximator
2021-02-19 16:44:48 +01:00
Ilya Kirillov
af4d300686
Use nullability from approximated local type in AbstractTypeApproximator
2021-02-19 16:44:47 +01:00
Mikhail Glukhikh
3571074da4
Update FIR-IDE diagnostic components
2021-02-19 18:24:49 +03:00
Mikhail Glukhikh
7c080395f2
FIR: minor test data fixes
2021-02-19 18:24:49 +03:00
Mikhail Glukhikh
7fdc1c7b21
Fix RawFirBuilderTotalKotlinTestCase.testPsiConsistency
2021-02-19 18:24:47 +03:00
Mikhail Glukhikh
54139b83ce
FIR: fix EXPRESSION_REQUIRED positioning
2021-02-19 18:24:47 +03:00
Mikhail Glukhikh
588b1354f6
FIR IDE: fix reference shortening regarding new qualified sources
2021-02-19 18:24:47 +03:00
Mikhail Glukhikh
5066a90f6f
FIR2IR: fix offsets for qualified expressions
2021-02-19 18:24:47 +03:00
Mikhail Glukhikh
239a44b30c
FIR: forbid reporting inapplicable-likes on implicit constructors
2021-02-19 18:24:46 +03:00
Mikhail Glukhikh
34c90aab3b
FIR: introduce & use REFERENCE_BY_QUALIFIER positioning strategy
2021-02-19 18:24:46 +03:00
Mikhail Glukhikh
0accaf0f30
FIR: report resolve-time errors on qualified access instead of reference
2021-02-19 18:24:46 +03:00
Mikhail Glukhikh
5ffa72f1fa
FIR: change DOT_BY_SELECTOR to DOT_BY_QUALIFIED strategy
2021-02-19 18:24:46 +03:00
Mikhail Glukhikh
04caa5c612
Fix DEBUG_INFO_CALL positioning in FIR
2021-02-19 18:24:45 +03:00
Mikhail Glukhikh
5ca3ce9e37
FIR: introduce & use SELECTOR_BY_QUALIFIED positioning strategy
2021-02-19 18:24:45 +03:00
Mikhail Glukhikh
5892646a27
Change FirQualifiedAccess source to KtQualifiedExpression (if any)
2021-02-19 18:24:45 +03:00
Mikhail Glukhikh
742f1e0069
FIR: add replaceSource to all FIR tree nodes
2021-02-19 18:24:45 +03:00
Vladimir Dolzhenko
b8d1bbdd0d
Do not swallow PCE
...
#KT-39776 Fixed
2021-02-19 15:04:45 +00:00
Dmitriy Novozhilov
d40777c28f
[FIR] Fix calculating arguments of bare type with intersection type as base
2021-02-19 16:23:24 +03:00
Alexander Udalov
56f9e3360f
JVM IR: do not generate invokeinterface hashCode if smart cast is present
...
#KT-45008 Fixed
2021-02-19 14:21:54 +01:00
Tianyu Geng
56854a8b1a
FIR IDE: register quickfix for the following
...
1. NON_ABSTRACT_FUNCTION_WITH_NO_BODY
2. ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS
3. ABSTRACT_FUNCTION_IN_NON_ABSTRACT_CLASS
2021-02-19 13:16:42 +01:00
Dmitriy Novozhilov
88c43e7f7b
[FE] Assume that effective visibility of sealed class constructor is internal
...
#KT-45033 Fixed
#KT-45043
2021-02-19 14:06:49 +03:00
Ilya Kirillov
b08eb6cf4c
FIR IDE: specify behaviour of HL API getOverriddenSymbols
...
- Split it into two functions getAllOverriddenSymbols and getDirectlyOverriddenSymbols
- Implement tests for getOverriddenSymbols
- temporary mute inheritance.kt light classes test
2021-02-19 11:49:57 +01:00
Ilya Kirillov
804df1aec2
FIR IDE: introduce base class for multifile tests
2021-02-19 11:49:56 +01:00
Dmitriy Novozhilov
3626008ed2
[Inference] Add ability to approximate local types in AbstractTypeApproximator
2021-02-19 12:47:27 +03:00
Mikhail Glukhikh
73616107b4
Unmute passing FIR BB test
2021-02-19 12:19:42 +03:00
Dmitry Petrov
c629ba5a3c
JVM_IR indy-SAM: function reference to Java interface
2021-02-19 12:04:30 +03:00
Mikhail Glukhikh
357a7907a3
FIR: fix type approximation by visibility
2021-02-19 10:39:57 +03:00
Roman Golyshev
74bdb2398e
FIR: Get rid of PSI dependency in the :fir:resolve module
2021-02-19 07:20:06 +00:00
Tianyu Geng
6b453d9b23
FIR: implement checker for open members
...
Specifically,
1. NON_FINAL_MEMBER_IN_FINAL_CLASS
2. NON_FINAL_MEMBER_IN_OBJECT
2021-02-19 10:17:18 +03:00