Commit Graph

38116 Commits

Author SHA1 Message Date
Ivan Kochurkin 15c83abfd8 [FIR] Throw UNCHECKED_CAST instead of NO_TYPE_ARGUMENTS_ON_RHS closer to FE 1.0 2021-11-12 15:20:48 +03:00
Ivan Kochurkin 87eb02a9e0 [FIR] Add error messages for CANNOT_CHECK_FOR_ERASED, CAST_NEVER_SUCCEEDS, UNCHECKED_CAST 2021-11-12 15:20:48 +03:00
Ivan Kochurkin 5fda933c33 [FIR] Unify code of type unification, fix intersection types processing in FirCastDiagnosticsHelpers.kt 2021-11-12 15:20:47 +03:00
Ivan Kochurkin 98cce8e05b [FIR] Support of intersection types in bareTypes.doUnify ^KT-48832 Fixed 2021-11-12 15:20:47 +03:00
Ivan Kochurkin a509e819b5 [FIR] Revert changes related to reporting WRONG_NUMBER_OF_TYPE_ARGUMENTS for type aliases 2021-11-12 15:20:46 +03:00
Ivan Kochurkin 05b91d37a7 [FIR] Fix collection of annotations for assigment expressions 2021-11-12 15:20:46 +03:00
Ivan Kochurkin d0a4ca199d [FIR] Add UNCHECKED_CAST
Regenerate diagnostics code
2021-11-12 15:20:45 +03:00
Ivan Kochurkin 1fbccff1bd [FIR] Rename isCastPossible to checkCasting, return CastingType instead of boolean 2021-11-12 15:20:45 +03:00
Ivan Kochurkin 2b5524b18f [FIR] Add CAST_NEVER_SUCCEEDS 2021-11-12 15:20:44 +03:00
Ivan Kochurkin 4ca757446a [FIR] Add getCorrespondingPlatformClass, getCorrespondingKotlinClass methods to FirPlatformClassMapper 2021-11-12 15:20:43 +03:00
Ivan Kochurkin 291bc74676 [FIR] Add CANNOT_CHECK_FOR_ERASED 2021-11-12 15:20:43 +03:00
Ivan Kochurkin e52a410599 [FIR] Initialize outer type parameters for local classes 2021-11-12 15:20:42 +03:00
Ivan Kochurkin 38820d3e41 [FIR] Implement WRONG_NUMBER_OF_TYPE_ARGUMENTS for top level type aliases 2021-11-12 15:20:42 +03:00
Ivan Kochurkin 09510633c7 [FIR] Rename applyToActualCapturedTypeParameters to appendOuterTypeParameters 2021-11-12 15:20:41 +03:00
Ivan Kochurkin d4a11fc295 [FIR] Disallow bare types for nested type arguments
Detect missing WRONG_NUMBER_OF_TYPE_ARGUMENTS
2021-11-12 15:20:40 +03:00
Mikhail Glukhikh d6bc6bec59 FIR2IR: read extension function type attribute properly 2021-11-12 12:53:32 +03:00
Mikhail Glukhikh b2d020606e FIR: don't generate extension callable reference without receiver 2021-11-12 12:53:29 +03:00
Mikhail Glukhikh bcfd970ac5 FIR2IR: add comments about translation phases 2021-11-12 12:53:25 +03:00
Mikhail Glukhikh d91384434c Drop some unnecessary casts in FIR code 2021-11-12 12:53:22 +03:00
Mikhail Glukhikh 3263d4d003 FIR2IR: split local class on-the-fly creation into two phases 2021-11-12 12:53:19 +03:00
Ilya Goncharov d6112224b4 [JS IR] Generate references from fake override to body in case of generic superclass 2021-11-11 15:12:34 +00:00
Dmitriy Dolovov 1e8dbd4846 [Native][tests] Add ExperimentalContracts OPT_IN directive for kt47300.kt
Without this directive the test can't be compiled by Kotlin/Native, because the box() function which is annotated with @ExperimentalContracts is called from the generated test runner source code that itself is not marked by this annotation.
2021-11-11 12:33:00 +03:00
Alexander Udalov 27cfcb9b3d IR: fix thisReceiver parameter type for function classes
Incorrect builder was used at line 269, which led to non-sensible type
in `IrClass.thisReceiver` for function types, such as
`SuspendFunction1<SuspendFunction1, SuspendFunction1>` in the linked
issue.

Avoid creating types manually completely to simplify this code and fix
the bug.

 #KT-49168 Fixed
2021-11-10 21:58:41 +01:00
Denis.Zharkov 6e15ee8fea FIR: Refine callable reference resolution in assignment position
synthetic_select<() -> T>(::foo) form allows to select better candidate
than synthetic_select(::foo) with expect type `() -> T`
2021-11-10 22:00:01 +03:00
Denis.Zharkov 65d7da122f FIR: Fix invalid INITIALIZER_TYPE_MISMATCH for suspend lambda 2021-11-10 22:00:01 +03:00
Denis.Zharkov 994040c91c FIR: Support invoke convention on super-qualified calls 2021-11-10 22:00:00 +03:00
Ilya Kirillov 0c7728f64a Analysis API: fix PsiType creation for type parameter type with flexible upper bound 2021-11-10 18:49:43 +01:00
Svyatoslav Kuzmich 03c352c11e [Wasm] Lower complex external declarations
- Properties
- Member functions
- Object declarations
- Constructors
- Classes with instance checks
2021-11-10 19:48:11 +03:00
Svyatoslav Kuzmich c0761bf34a [Wasm] Support callable references to external functions
1. Move jsInteropFunctionsLowering after callable reference lowering,
  so it can continue to deal with just functions and function calls.
2. Generate lowered closure class in JsInteropFunctionsLowering because
2021-11-10 19:48:10 +03:00
Dmitry Petrov 916379c0e7 JVM KT-49613 use adapter for indy reference to protected constructor 2021-11-10 19:37:27 +03:00
Dmitry Petrov 76bdf4ff1a JVM KT-49548 extra test 2021-11-10 19:37:25 +03:00
Dmitry Petrov 9a4cff0dc7 JVM KT-49548 progression iterators can be tainted 2021-11-10 19:37:24 +03:00
Ivan Kochurkin 646d156bde [FIR] Reuse calculated values and clean up code 2021-11-10 19:07:27 +03:00
Ivan Kochurkin 0dab39b6e3 [FIR] Get rid of unnecessary allocations 2021-11-10 19:07:27 +03:00
Ivan Kochurkin c9ad2b3bf9 [FIR] Ignore visited super types during bypass in FirInconsistentTypeParameterHelpers
Get rid of potential exponential complexity
2021-11-10 19:07:26 +03:00
Ivan Kochurkin 6e57341a3d [FIR] Remove not used FirNotASupertypeChecker 2021-11-10 19:07:26 +03:00
Ivan Kochurkin a57c8ee9e8 [FIR] Remove not used transformAllStatementsExceptLast from FirExpressionUtil 2021-11-10 19:07:25 +03:00
Ivan Kochurkin ee490128fc [FIR] Optimize FirDeprecationChecker 2021-11-10 19:07:25 +03:00
Ivan Kochurkin 13865e52f8 [FIR] Optimize FirJvmDefaultChecker 2021-11-10 19:07:24 +03:00
Ivan Kochurkin 6fd4c67bbb [FIR] Optimize FirInterfaceDefaultMethodCallChecker
Reduce calls of getClassLikeSymbolByClassId
2021-11-10 19:07:23 +03:00
Mads Ager 604f217360 [FIR] Report properties from java methods in Fir2IrLazyClass.
This shows up in annotation instantiation tests where we need
to make sure to generate a property on the annotation implementation
class for such properties.
2021-11-09 23:51:49 +03:00
Mads Ager b79ca7d7df [FIR] Allow annotation instantiation.
This commit disables the frontend error reporting for supported cases.
2021-11-09 23:51:48 +03:00
Alexander Udalov 1071919706 Remove backend tests on old inference
Also remove any mentions of NewInference, and rename some tests.
2021-11-09 20:07:33 +01:00
Alexander Udalov 3626b1df44 Psi2ir: remove support for disabling SamConversionPerArgument 2021-11-09 20:04:29 +01:00
Mikhail Glukhikh 8ac4507a1f FIR2IR: simplify/generify declaration caching code 2021-11-09 21:04:41 +03:00
Mikhail Glukhikh 3d60064310 Extract & reuse ConeKotlinType.findClassRepresentation in FIR2IR 2021-11-09 21:04:40 +03:00
Mikhail Glukhikh 6eaeada1e6 FIR: cache properties in use-site scope properly 2021-11-09 21:04:40 +03:00
Mikhail Glukhikh f2c734fc02 FIR2IR: add another fallback for simple synthetic property 2021-11-09 21:04:39 +03:00
Mikhail Glukhikh b50350f6a5 FIR2IR: add fallback for a synthetic property override situation 2021-11-09 21:04:39 +03:00
Mikhail Glukhikh 67a05883d6 FIR2IR: create local classes on the fly properly 2021-11-09 21:04:38 +03:00