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
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
Ilya Kirillov
af4d300686
Use nullability from approximated local type in AbstractTypeApproximator
2021-02-19 16:44:47 +01: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
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
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
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
Mikhail Glukhikh
3e9ff3ecda
FIR: report SUPERTYPE_NOT_A_CLASS_OR_INTERFACE on type parameters
2021-02-19 10:17:17 +03:00
Jinseong Jeon
e67eb0c123
FIR checker: typed declaration's return type should be resolved
...
except for those in function contracts
2021-02-19 10:17:17 +03:00
Jinseong Jeon
5f9357eb41
FIR: transform implicit type ref in anonymous function arguments & body
...
^KT-45010 Fixed
2021-02-19 10:17:16 +03:00
Jinseong Jeon
a841a0bbca
FIR: transform other parts of function call even though callee is an error
2021-02-19 10:17:16 +03:00
Jinseong Jeon
27c942a0ff
FIR: enforce the return type of function literals without body
...
Its return type should be Unit, so do not use the expected type from,
e.g., parameter type.
2021-02-19 10:17:16 +03:00
Jinseong Jeon
9aaa952b39
FIR: regard implicit type for value parameter after body resolve as an error type
2021-02-19 10:17:16 +03:00
Jinseong Jeon
fbb19e3b50
FIR: ensure type ref transformed by type resolve transformer is resolved
2021-02-19 10:17:15 +03:00
Jinseong Jeon
52ea7fdb72
FIR: ensure type ref after supertype resolve transformer is resolved
2021-02-19 10:17:15 +03:00
Ilmir Usmanov
cacd84390e
Use erased upper bound instead of checking for inline type
2021-02-18 18:31:50 +01:00
Ilmir Usmanov
741c1a864f
JVM_IR: IC: Unbox inline class argument of callable reference
...
if it is unbound and the underlying type is reference type.
If the underlying type is primitive, it is boxed and unboxed
correctly, otherwise, it is simply casted and not unboxed.
Additionally, generate functions for inliner with inline classes
in signature, so unboxing works.
The unboxing is removed after inlining.
#KT-44722 Fixed
2021-02-18 18:31:48 +01:00
Dmitry Petrov
744a0fcd25
PSI2IR KT-45022 object in LHS of compound assignment
2021-02-18 20:24:16 +03:00
Anton Bannykh
bc9a791809
Refactor klib serializer/deserializer
2021-02-18 18:03:41 +03:00
Victor Petukhov
ad9fd7ecf3
KotlinBinaryClassCache: clean-up request caches for all threads
...
^KT-44550 Fixed
2021-02-18 17:05:59 +03:00