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