Commit Graph

38325 Commits

Author SHA1 Message Date
Ivan Kylchik 33c799b6d9 [JS TESTS] Drop pir tests 2021-11-12 21:24:30 +03:00
Ivan Kylchik 4d5ba7e956 [JS TESTS] Drop ES6 tests 2021-11-12 21:24:29 +03:00
Artem Kobzar 7aa8de55a5 fix(use strict): move global this polyfill after "use strict" pragma. 2021-11-12 15:59:27 +00:00
Svyatoslav Kuzmich 3aafb76077 [Wasm] Enable name section in CLI by default 2021-11-12 18:44:47 +03:00
Svyatoslav Kuzmich 08362e8b38 [Wasm] Support defineExternally 2021-11-12 18:44:46 +03:00
Svyatoslav Kuzmich 5098bc0c70 [Wasm][Minor] Rename method 2021-11-12 18:44:46 +03:00
Svyatoslav Kuzmich 7e9fc54e64 [Wasm] Support external companions 2021-11-12 18:44:46 +03:00
Svyatoslav Kuzmich 91ea3738b4 [Wasm] Fix type parameters with external upper-bounds.
`klass.isExternal` was never reachable for type parameters
because of klass != null check
2021-11-12 18:44:46 +03:00
Igor Chevdar b474b570a4 [K/N][gradle] Supported friend modules for two stage compilation
Fixes https://youtrack.jetbrains.com/issue/KT-49248
2021-11-12 17:40:26 +05:00
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