Commit Graph

72882 Commits

Author SHA1 Message Date
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
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