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
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
Vladimir Dolzhenko
8783ebc352
Report highlight errors to WolfTheProblemSolver
...
Relates to #KT-37702
#KTIJ-1246 Fixed
Original commit: bd222a5255c2fd6f4abfce3115f81733ef9a39f3
2021-02-19 05:46:04 +00:00
tgeng
afe71f5d59
FIR: Add runConfig to generate FIR boilerplate ( #4130 )
...
* FIR: Add runConfig to generate FIR boilerplate
* FIR: Add runConfig to generate FIR boilerplate
2021-02-18 23:26:10 +01:00
Tianyu Geng
51da54ce66
FIR IDE: Simplify registerPsiQuickFixes
...
This change makes it possible to register multiple fixes for a
diagnostic. Also, the previous registerPsiQuickFix that relies compiler
to infer the KtFirDiagnostic type parameter is dangerous since it
can silently register fixes on interface `KtDiagnosticWithPsi` if caller
doesn't specify it explicitly.
2021-02-18 19:37:37 +01: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
Dmitriy Dolovov
05447ce0c8
[Commonizer] Print true time for resolving of libraries to be commonized
2021-02-18 18:47:38 +03:00
Dmitriy Dolovov
0b26a281de
[Commonizer] Print pretty target name in console output
2021-02-18 18:47:33 +03:00
Dmitriy Dolovov
fb51105a5d
[Commonizer] Log time in commonizer result consumers
2021-02-18 18:47:28 +03:00
Dmitriy Dolovov
496aad3c4a
[Commonizer] Log commonization only for really present targets
2021-02-18 18:47:19 +03:00
Dmitriy Dolovov
3ad7b60747
[Commonizer] Prefer using CommonizerTarget instead of KonanTarget
2021-02-18 18:47:14 +03:00
Dmitriy Dolovov
1895c230ef
[Commonizer] K/N dist: Process targets in alphabetical order
2021-02-18 18:47:10 +03:00
Dmitriy Dolovov
f473b88e47
[Commonizer] Nicer API for CirProvidedClassifiers
2021-02-18 18:47:05 +03:00
Dmitriy Dolovov
84ce9c612c
[Commonizer] Keep only "common" dependencies in CirKnownClassifiers
2021-02-18 18:47:00 +03:00
Dmitriy Dolovov
2581b67cda
[Commonizer] Rename: CirCommonizedClassifiers -> CirCommonizedClassifierNodes
2021-02-18 18:46:55 +03:00
Dmitriy Dolovov
43ad0ed907
[Commonizer] Optimized implementation of CirProvidedClassifiers
...
Read classifiers directly from metadata, don't use descriptors.
2021-02-18 18:46:49 +03:00
Dmitriy Dolovov
79e3ce022f
[Commonizer] Fix: Keep fwd declarations under real names in CirForwardDeclarations cache
2021-02-18 18:46:45 +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
Alexander Dudinsky
5cbbbc3b83
Fix artifacts needed for the kotlin-gradle-plugin
2021-02-18 16:50:52 +03:00
Alexander Dudinsky
33313ae4b4
Fix artifacts needed for the kotlin-gradle-plugin
2021-02-18 16:47:22 +03:00
Sergey Shanshin
8c20c655fe
Updated bytecode of serialization for IR
...
`shouldEncodeElementDefault` now checked before evaluating default value
2021-02-18 15:03:35 +03:00
Dmitriy Novozhilov
7b7b8fbea7
[Test] Filter dependent modules by source kind in creating FirModuleInfo
2021-02-18 14:44:44 +03:00
Alexander Udalov
8c95b78346
Update JVM metadata version to 1.5.0
...
Improve the test which checks that we use correct metadata version if
`-language-version` is passed by checking all supported language
versions.
The change in libraries/reflect/build.gradle.kts is needed because
kotlinx-metadata-jvm of version 0.1.0 is based on pre-1.4 Kotlin, which
doesn't support the new module file metadata generated with metadata
version 1.4 and later, and module files need to be readable there to be
able to transform them for the shadow plugin.
Similarly override dependency on kotlinx-metadata-jvm in the
binary-compatibility-validator module.
2021-02-18 12:42:23 +01:00
Alexander Udalov
dbadd5846a
Add test for script flag in kotlin.Metadata
...
It passes at the moment because the test uses old backend, but the
required behavior is not yet supported in JVM IR, and it'll need to be
fixed.
2021-02-18 12:36:54 +01:00
Alexander Udalov
1d6b198915
Build: suppress version and JVM target warnings
...
To further reduce the output on each build.
2021-02-18 12:17:17 +01:00