Commit Graph

1297 Commits

Author SHA1 Message Date
Dmitry Gridin b05eb62d9d [lc] decompiled: support stub search for properties
^KT-53934
2022-09-15 09:27:52 +00:00
Dmitry Gridin 7ec55f885d [lc] decompiled: fix and add new heuristics for stub-only search
support members and constructors

^KT-53934
2022-09-15 09:27:52 +00:00
Dmitry Gridin 5f2098d572 [lc] decompiled: LightMemberOriginForCompiledElement: cleanup code
^KT-53934
2022-09-15 09:27:52 +00:00
Dmitry Gridin d13f2af6ec [lc] decompiled: make isEquivalentTo lightweight
^KT-53934 Fixed
2022-09-15 09:27:51 +00:00
Mikhail Glukhikh fb9b1ad0dc K1: implement warning for upper bound violated in type alias constructors
Partially implements KT-47473
2022-09-15 08:51:46 +00:00
Mikhail Glukhikh 8c475750b1 FE: add test for KT-47473 2022-09-15 08:51:45 +00:00
Jinseong Jeon 61d339e8f2 SLC: containingFile for all SLC classes, including enum entry 2022-09-14 13:39:31 +02:00
Jinseong Jeon 217829d1c6 AA: fix typo in property name 2022-09-14 13:03:30 +02:00
Ilya Kirillov bfec7e271f [LL API] do not store LLFirSession in RAM for unused modules
^KTIJ-22749
2022-09-14 12:56:03 +02:00
Jinseong Jeon 836b6dae9f AA FIR: constant evaluation for String 2022-09-14 12:52:08 +02:00
pyos a0fa2cc275 FIR: regenerate LL API tests 2022-09-14 08:11:05 +00:00
Jinseong Jeon a77933ca9a AA: use appropriate type mapping mode in eq checker 2022-09-13 18:00:40 +02:00
Jinseong Jeon 3c74751f73 AA: look up inner class from parent class stub 2022-09-13 18:00:40 +02:00
Mikhail Glukhikh 3848be596e Add test for KT-53343 2022-09-13 09:05:48 +00:00
Pavel Mikhailovskii fe5a6fd511 Disallow non-local break/continue in crossinline lambdas 2022-09-12 13:26:19 +00:00
Dmitry Gridin 51fd2af6fd [lc] decompiled: update debug info
^KTIJ-22722
2022-09-10 21:37:47 +02:00
Jinseong Jeon 68519af97a AA: add tests about platform types
...as declaration return type or expression type
2022-09-09 15:02:23 +02:00
Vladimir Sukharev c8864369fd Use main class as test generator name
Merge-request: KT-MR-7031
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2022-09-09 12:51:18 +00:00
Jinseong Jeon b9501e7452 SLC: suppress final on interface functions
even bridges to functions in companion object
2022-09-09 14:47:10 +02:00
Mikhail Glukhikh e02fd8f4a8 FE: don't run builder inference in UNTIL_FIRST_LAMBDA mode
#KT-52927 Fixed
2022-09-09 12:44:39 +00:00
Jinseong Jeon 3eb68a6ee8 S/LC: fix default visibility of constructor of sealed class 2022-09-09 14:38:12 +02:00
Jinseong Jeon 5225c51a5a SLC: handle @JvmOverloads on constructor 2022-09-09 14:38:12 +02:00
Jinseong Jeon d4efc8d81d SLC: use partition to distinguish ctor properties from regular members 2022-09-09 14:38:11 +02:00
Jinseong Jeon 4859524115 SLC: account for upperbounds when computing nullability of type parameter 2022-09-09 14:38:11 +02:00
Anna Kozlova 0290f09ac2 ensure changes in getters/setters modifiers are not treated as local 2022-09-09 12:07:35 +02:00
Dmitry Gridin 7102be7720 [lc] KotlinAsJavaSupportBase: introduce LightClassCachedValue
to extract common logic with cached values

^KT-50241
2022-09-08 13:47:41 +00:00
Dmitry Gridin 2611be0436 [lc] KotlinAsJavaSupportBase: make ifValid inline
^KT-50241
2022-09-08 13:47:40 +00:00
Dmitry Gridin aa31ca67e2 [lc] KotlinAsJavaSupportBase: make librariesTracker abstract
^KT-50241
2022-09-08 13:47:40 +00:00
Dmitry Gridin e6bb97d490 [lc] KotlinAsJavaSupportBase: suppress visibility warnings
methods can be used from the plugin for tests

^KT-50241
2022-09-08 13:47:40 +00:00
Dmitry Gridin b618855e2c [lc] KotlinAsJavaSupportBase: add more lightweight checks for facades
^KT-50241
2022-09-08 13:47:39 +00:00
Dmitry Gridin ec1b6f4f3e [lc] KotlinAsJavaSupportBase: reduce number of findModule calls
^KT-50241
2022-09-08 13:47:39 +00:00
Dmitry Gridin acc880fe25 [slc] SymbolKotlinAsJavaSupport: drop redundant checks
^KT-50241
2022-09-08 13:47:39 +00:00
Dmitry Gridin e58b98bb5c [lc] KotlinAsJavaSupportBase: implement getLightClassForScript
^KT-50241
2022-09-08 13:47:39 +00:00
Dmitry Gridin 46548e5443 [lc] KotlinAsJavaSupportBase: implement getLightClass
add more caching

^KT-50241
2022-09-08 13:47:38 +00:00
Pavel Mikhailovskii 85ab8b4ce1 KT-53783 Prohibit "expect data object" syntax 2022-09-07 12:53:24 +00:00
Nikolay Lunyak 45619ab390 [FIR] KT-53435: Fix false positive ANNOTATION_ARGUMENT_MUST_BE_CONST
Otherwise, `FirNamedArgumentExpression` are not considered
const expr despite the value.

Merge-request: KT-MR-7052
Merged-by: Nikolay Lunyak <lunyak.kolya@mail.ru>
2022-09-07 12:34:26 +00:00
Dmitriy Novozhilov 194741b96b [FIR] Remove incorrect FirClassSymbol<*>.superConeTypes utility
Replace all usages with member `FirClassSymbol.resolvedSuperTypes`
2022-09-07 07:57:37 +00:00
Mikhail Glukhikh d8522a8967 FE: Add test for KT-53656 2022-09-06 17:57:02 +00:00
Simon Ogorodnik 05d486d55a Fix receiver inconsistency when builder inference restriction disabled
In 154e53c701 update of
extensionReceiverArgument in resolvedCall was accidentally moved into
language feature dependant block
2022-09-05 10:07:41 +00:00
Nikolay Lunyak 3d9c77efa8 [FIR] Add DNN checks
Merge-request: KT-MR-7000
Merged-by: Nikolay Lunyak <lunyak.kolya@mail.ru>
2022-09-01 14:25:07 +00:00
Roman Golyshev bb2bee74cf [HL API] Fix FE10 implementation of KtExpressionTypeProvider 2022-09-01 13:57:03 +00:00
Denis.Zharkov 490382b77f Add test for KT-52782
It just demonstrates/fixate the current "broken" behavior in K1
that we unfortunately have and that is fixed in K2
2022-08-31 09:45:54 +00:00
Denis.Zharkov db1bd4f232 Add test for KT-53124
The issue itself is supposed to be fixed after eb19d39cbf reverted

^KT-53124 Fixed
2022-08-30 15:56:31 +00:00
Denis.Zharkov 42c41a1916 Revert "[FE 1.0] Build captured type's supertypes in an alternative way: use own projection type as a first supertype, then supertypes from the corresponding type parameter's upper bounds"
This reverts commit eb19d39cbf.
2022-08-30 15:56:30 +00:00
Roman Golyshev 16cb3064c8 [FIR] Resolve value class constructor to TYPES before using its params
Right now it is the easiest way to ensure that all the parameters are
resolved. After KT-53573 is fixed, we might use `resolvedReturnTypeRef`
on each parameter individually instead

Also, add `toString` implementation to `ValueClassRepresentation`
classes, so they are properly rendered in testdata

^KTIJ-22630 Fixed
2022-08-30 13:49:40 +00:00
Denis.Zharkov f4a3ab877f Add test for parsing issue KT-53719
^KT-53719 Related
2022-08-30 11:21:51 +00:00
Denis.Zharkov 3d7969ec8f Revert "KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing"
This reverts commit 2053363def.

^KT-35811 Open
2022-08-30 11:21:50 +00:00
Denis.Zharkov 211d662708 Revert "KT-8263: Conditional operators are not parsed correctly"
This reverts commit ec8da2033c.

For the reason for the revert see KT-53719

^KT-8263 Open
^KT-53719 Fixed
2022-08-30 11:21:50 +00:00
Simon Ogorodnik 154e53c701 K1: add diagnostic BUILDER_INFERENCE_STUB_RECEIVER
It's reported on receivers in extension function calls with stub type,
as such calls can shadow members of finalized stub types causing
change of resolve when corresponding type argument specified explicitly

It works by checking extension receiver during call resolution parts run
That way we can easily detect if we found an extension applicable to
stub receiver and report call diagnostic for it

KT-53739
2022-08-30 10:19:26 +00:00
Simon Ogorodnik 105358dcf6 K1: add diagnostic BUILDER_INFERENCE_MULTI_LAMBDA_RESTRICTION
Let's call builder lambdas (BL) a lambda that has non-fixed input type
projection at the moment of lambda arguments analysis, such lambdas
is a subject to be analyzed with builder inference
Due to bug in constraint system joining algorithm, currently system
of two or more such lambdas may lead to unsound type inference

Diagnostic added here should be reported in case when there are two
BL that shares a common constraint system, while not annotated with
@BuilderInference, as a protection against aforementioned bug

It's reported by ConstraintSystemCompleter when such situation has
occurred during builder inference phase, it is the same place that
decides wherever lambdas is subject to builder inference or not

KT-53740
2022-08-30 10:19:25 +00:00