pyos
354acc1fd5
FIR: permit * as FunctionN type argument
...
`() -> *` is not valid, but `F<*>` where `typealias F<T> = () -> T` is.
2021-04-15 14:59:27 +03:00
Denis.Zharkov
32dacc37c0
FIR: Fix OverloadResolutionByLambdaReturnType case
2021-04-15 14:48:20 +03:00
Ilmir Usmanov
1c48fb28db
Generate return when generating continuation class for expression body
...
Otherwise, the function will return Unit instead of correct value.
#KT-46007 Fixed
2021-04-15 13:54:45 +03:00
Simon Ogorodnik
539d3e5df2
Add full-pipeline modularized tests for old frontend
2021-04-15 13:36:00 +03:00
Ivan Gavrilovic
11b92bc597
[Gradle] Fix init script for coroutines
...
Use doFirst instead of beforeTask to add javaagent args for coroutines debugging.
2021-04-15 12:39:25 +03:00
Andrei Klunnyi
2bb7f6a168
KT-45347 Quickfix to move to sealed parent: do not suggest for binaries
...
^KT-45347 Fixed
2021-04-15 11:17:36 +02:00
Svyatoslav Scherbina
d531df1643
Native: add KotlinThrowable.asError() to the generated Obj-C framework
...
This method can be useful when overriding a throwing Kotlin method in
Swift or Obj-C. In this case, a user can call asError to wrap Kotlin exception
to (NS)Error and then throw it to Kotlin, which will unwrap it back.
^KT-45127 Fixed
2021-04-15 08:21:30 +00:00
Pavel Punegov
c988ecf59b
Ignore test in native backend due to the KT-44037 (KT-38181)
2021-04-15 07:59:26 +00:00
Pavel Punegov
d07c990fc2
Add test to native ignore list due to the KT-44571
2021-04-15 07:59:25 +00:00
Pavel Punegov
0f5edaa02f
Ignore test in the native backend. It redefines JvmInline class
2021-04-15 07:59:24 +00:00
Pavel Punegov
ca4cebf3e3
Exclude test in native backend due to KT-42020.
...
Also return back two tests for fixed KT-42684 and KT-45139
2021-04-15 07:59:23 +00:00
Pavel Punegov
6aa7628808
Fixes to Kotlin/Native test directives infrastructure.
...
* parse files and modules separately
* fix default and support modules usage
* add another way to ignore backend (new directive)
* add new test to exclude list
2021-04-15 07:59:22 +00:00
Alexander Gorshenev
7d13aaad24
Native klib testing: a binary compatibility tweak.
...
Link versioned libraries against dependencies of the same version.
2021-04-15 07:59:21 +00:00
Tianyu Geng
4d2e3a2379
FIR: Fix resolving += to ignore + if it doesn't return correct type
...
This is the FIR fix of the FE change tracked by
https://youtrack.jetbrains.com/issue/KT-45503
Consider the following code:
```
fun foo() {
var l = mutableListOf("")
l += ""
}
```
The above code used to be considered invalid due to ambiguous `+=`. But
after KT-45503, it's now considered valid code because `plus` is not
really a valid option for this code. This is because the return type
of `plus` for `List` is `List`, which does not match the type of
variable `l`.
As for now, FIR rejects the above code due to ambiguous `+=`. This
change fixes that by also consider the return type when resolving `+=`.
2021-04-15 10:34:05 +03:00
Tianyu Geng
c43faa2ada
FIR: refactor FirExpressionsResolveTransformer#transformAssignmentOperatorStatement
...
No logic change. This commit only rearrange stuff to make it cleaner
2021-04-15 10:34:04 +03:00
Dmitriy Novozhilov
861f69822b
[FIR] Fix infinite recursion of ConeDefinitelyNotNullType
2021-04-15 10:30:29 +03:00
Dmitriy Novozhilov
7c6a9aa963
[FIR] Store cachedExpandedType in WeakPair instead of usual Pair
...
WeakPair is a renamed OneElementWeakMap
2021-04-15 10:30:29 +03:00
Dmitriy Novozhilov
dd96c3b56e
[FIR] Turn some checkers into classes to prevent memory leaks
...
This is temporary solution until those checkers will be fixed
#KT-46058
2021-04-15 10:30:29 +03:00
Dmitriy Novozhilov
085bddbfc0
[FIR] Force checker components to create checkers sets on each access
...
This is needed to add ability to recreate checkers which are not objects
for each session
2021-04-15 10:30:26 +03:00
Dmitriy Novozhilov
1f62a2d8cc
[FIR] Add disposing of FirJavaElementFinder in FIR compiler entrypoint
2021-04-15 10:30:09 +03:00
Mark Punzalan
957f6ddafd
FIR checker: Enable ReplaceWithDotCallFix for UNNECESSARY_SAFE_CALL.
2021-04-14 22:30:42 +02:00
Dmitry Petrov
f1eeb72c01
PSI2IR KT-46069 resolve IR-based type parameter descriptors to symbols
2021-04-14 21:27:01 +03:00
Anton Bannykh
ba80086ae3
JS PIR generator: eliminate deprecated String.capitalize
2021-04-14 21:04:39 +03:00
Mikhail Glukhikh
4c13fe5631
FIR: handle SAM constructor properly in visibility checker
...
#KT-46074 Fixed
2021-04-14 20:50:54 +03:00
ebukreev
d8a2f82cbd
FIR: inroduce FirFunInterfaceConstructorReferenceChecker
2021-04-14 19:53:43 +03:00
Dmitry Petrov
531a0de399
JVM_IR KT-46060 'contains' operator without receiver is non-optimizable
2021-04-14 19:18:42 +03:00
Mark Punzalan
21a3a14289
FIR: Use intersection of all upper bounds for parameterized types in
...
ConeKotlinType.canBeNull.
^KT-45903 In progress
2021-04-14 19:17:10 +03:00
Andrei Klunnyi
ac85f9d983
KT-45348 Sealed Inheritors Inspection: binary Kotlin parent is ignored
...
^KT-45348 Fixed
2021-04-14 18:12:28 +02:00
Ilya Kirillov
0051451ed7
FIR: add error message when FirBasedSymbol.fir is not initialized
2021-04-14 18:37:35 +03:00
Dmitriy Novozhilov
69ff45971f
Suppress HIDDEN diagnostics from FIR to fix FIR bootstrap compilation
2021-04-14 18:30:56 +03:00
Dmitriy Novozhilov
1f0ecade34
[FIR] Transform annotations of type refs in body resolve stage
...
Also fix building CFG for annotation calls
2021-04-14 18:30:56 +03:00
Dmitriy Novozhilov
aec13defc4
[Test] Add proper annotation target in SupertypesAndBounds test
2021-04-14 18:30:55 +03:00
Dmitriy Novozhilov
0b2943d34c
Prohibit using annotations without TYPE target in several type positions
...
#KT-8325 Fixed
#KT-19455 Fixed
#KT-25876 Fixed
#KT-28449 Fixed
2021-04-14 18:30:54 +03:00
Dmitriy Novozhilov
1cff17bb58
Cleanup ConstantExpressionEvaluator
2021-04-14 18:30:53 +03:00
Dmitriy Novozhilov
bee2a69e21
Implement new logic of approximation of integer literals in position of receiver
...
#KT-38895 In Progress
2021-04-14 18:30:52 +03:00
Dmitriy Novozhilov
6afb905ad6
Add deprecation warning about new integer operators on literals resolution
...
#KT-38895
2021-04-14 18:30:51 +03:00
Dmitriy Novozhilov
53b6d6f767
Prohibit references to members of containing class in super constructor of nested object
...
#KT-25289 In Progress
2021-04-14 18:30:49 +03:00
Andrey Zinovyev
3c093f57ba
[FIR] Add DYNAMIC_UPPER_BOUND check
...
+Fix some failing diagnostic tests
+Use PositioningStrategy to locate reified modifier
2021-04-14 18:11:18 +03:00
Andrey Zinovyev
0d525bbe85
[FIR] Add MISPLACED_TYPE_PARAMETER_CONSTRAINTS check
2021-04-14 18:11:17 +03:00
Andrey Zinovyev
412b941486
[FIR] Add DEPRECATED_TYPE_PARAMETER_SYNTAX check
2021-04-14 18:11:16 +03:00
Andrey Zinovyev
2b8c22c08a
[FIR] Add CYCLIC_GENERIC_UPPER_BOUND check
2021-04-14 18:11:14 +03:00
Andrey Zinovyev
03215f4e0a
[FIR] Add TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER check
2021-04-14 18:11:13 +03:00
Andrey Zinovyev
470993ac07
[FIR] Add TYPE_PARAMETERS_NOT_ALLOWED check
2021-04-14 18:11:12 +03:00
Andrey Zinovyev
5ff82addc9
[FIR] Add REIFIED_TYPE_PARAMETER_NO_INLINE check
2021-04-14 18:11:10 +03:00
Andrey Zinovyev
14fe570a00
[FIR] Add more type params checks
...
VARIANCE_ON_TYPE_PARAMETER_NOT_ALLOWED
BOUND_ON_TYPE_ALIAS_PARAMETER_NOT_ALLOWED
2021-04-14 18:11:09 +03:00
Andrei Klunnyi
fb1b253d1e
KT-46063 Quick fix: remaining when branches for 'expect' sealed
...
'List<WhenMissingCase>.hasUnknown' property was changed in 4222bb9a .
As a result quickfix's AddWhenRemainingBranchesFix.Companion.isAvailable
started responding 'no'.
This commit restores original property and provides a separate one for
compiler needs.
^KT-46063 Fixed
2021-04-14 15:57:15 +02:00
Alexander Udalov
005aa57f6d
Remove obsolete module cli-js-klib
...
It's no longer used anywhere in the build.
2021-04-14 13:47:02 +02:00
Alexander Udalov
988d1365a8
Remove dependency of backend.wasm on ir.tree.impl and ir.tree.persistent
2021-04-14 13:47:02 +02:00
Alexander Udalov
643c3f26c1
Remove dependency of backend.js on ir.tree.impl
...
By taking the instance of IrFactory either from SymbolTable, or passing
it from cli-js which depends on both ir.tree.impl and
ir.tree.persistent, and can choose the appropriate implementation.
2021-04-14 13:47:02 +02:00
Alexander Udalov
9aed55a1f4
IR: minor, improve toString for IrBasedTypeParameterDescriptor
...
The motivation is that in the "Unbound symbols are not allowed" error
message like the one in KT-46069, the type parameter is rendered via
`render()`, and that contains only its name/variance, and doesn't help
in finding where the member with that type parameter is declared.
2021-04-14 13:16:05 +02:00