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
Ting-Yuan Huang
6c989bfd4b
Support array of annotation in KotlinJvmBinaryClass
...
KotlinJvmBinaryClass.AnnotationArrayArgumentVisitor didn't cover the
case when the element type is an Annotation. Therefore, when the
compiler read an array of annotations from JVM binary classes built from
Kotlin sources, it got an empty array regardless of what was written in
the bytecode.
For example, Foo.value below is read as an empty array when SomeClass
resides in another Kotlin module.
@Foo(
value = [Bar(1), Bar(2)]
)
class SomeClass
2021-04-14 13:14:26 +02:00
Dmitriy Dolovov
5e392a511f
[K/N][IR] Generate missing return when using Nothing-returning safe call as lambda result or function expression body
...
^KT-42832
2021-04-14 13:20:41 +03:00
Ilya Kirillov
b4813d31e6
Mute FirKotlinHighlightingPassTestGenerated.Checker.testResolveTypeInAnnotationArgumentRuntime as flaky
2021-04-14 11:48:41 +02:00
Ilmir Usmanov
74b1fdcc60
Minor. Add regression test
...
#KT-45991
2021-04-14 10:48:59 +02:00
Ilmir Usmanov
29c975fc43
Minor. Add regression test
...
#KT-45539 Obsolete
2021-04-14 10:48:57 +02:00
Ilmir Usmanov
19b1b48e87
Minor. Add tests to check returning inline class from default method
...
#KT-45539 Obsolete
2021-04-14 10:48:54 +02:00
Andrey Zinovyev
8c464b4de5
[KAPT] Bring back properties resolution in light analysis
...
Because kapt fails on evaluation constant expressions of SomeType::class
2021-04-14 07:50:22 +00:00
Nikolay Krasko
9bbfe5a7a2
Add dependencies verification for prepareSonatypeStaging.gradle
...
File is applied conditionally when sonatype publication is enabled.
2021-04-14 00:53:02 +03:00
Steven Schäfer
7a9ff15d73
JVM IR: Handle suspend interface default methods with generic types (KT-45166)
2021-04-13 23:04:32 +02:00
Dmitry Petrov
7d62f0b5aa
JVM_IR KT-45187 use Arrays.copyOf to copy an array in spread operator
...
Creating a new array (and copying data into it with System.arraycopy)
doesn't work in generic case, because the actual array class depends on
call site.
2021-04-13 22:27:37 +03:00
zadorotskas
334d0a8b5a
FIR: introduce three diagnostics for const val
2021-04-13 21:36:46 +03:00
Mikhail Glukhikh
cc106085e2
FIR: add minor TODO / comments to mismatch checkers
2021-04-13 21:36:44 +03:00
Mikhail Glukhikh
b8af3d79d4
FIR: minimize explicit use of <destruct> name
2021-04-13 21:36:43 +03:00
Mikhail Glukhikh
78fc87ffb1
FIR: apply minor test data fixes around type mismatch problems
2021-04-13 21:36:41 +03:00
Mikhail Glukhikh
9accd8c9ad
FIR: use unsafe .coneType in type mismatch checkers when possible
2021-04-13 21:36:40 +03:00
Mikhail Glukhikh
b58e5b182c
FIR: add test fixing builder inference case
2021-04-13 21:36:38 +03:00
Mikhail Glukhikh
f7147dc6f3
CoroutineTransformerMethodVisitor: fix potential type mismatch
...
The fixed code compiles properly only due to null smart cast.
Without it, e.g. in FIR, we'd have type mismatch error for this return.
2021-04-13 21:36:37 +03:00