Commit Graph

104038 Commits

Author SHA1 Message Date
Dmitrii Gridin 7fa7d8ea8d [SLC] provide light classes only for platforms with jvm target
Light classes are not supposed to work on non-jvm platforms due to its
specific

^KT-60318 Fixed
2023-08-28 12:45:29 +00:00
Nikolay Lunyak 13a7bb95b3 [FIR] Relax MULTIPLE_DEFAULTS_* to account for the K1 behavior
^KT-56442
^KT-36188
2023-08-28 10:57:40 +00:00
Nikolay Lunyak 3f1bf6112f [FIR] Report MULTIPLE_DEFAULTS_INHERITED_FROM_SUPERTYPES
Reporting it for `VIRTUAL_MEMBER_HIDDEN`
is ok, because `VIRTUAL_MEMBER_HIDDEN`
has always been an error, so we are
allowed to treat these as overrides
implicitly.

^KT-59408 Fixed
^KT-59419 Fixed
^KT-57076 Fixed
2023-08-28 10:57:40 +00:00
Dmitriy Novozhilov 0dd36ad456 [FIR2IR] Rename entrypoint function of Fir2IrConverter
Originally it was named createModuleFragmentWithSignaturesIfNeeded, because
  there was a counterpart `...WithoutSignatures`. Now that function has
  gone and there is only one entrypoint left
2023-08-28 10:22:04 +00:00
Dmitriy Novozhilov cb0d61309a [FIR2IR] Move initialization of Fir2IrComponentsStorage into its constructor 2023-08-28 10:22:04 +00:00
Mikhail Glukhikh 3e330241b4 K1/K2: add a test to fix state of KT-55168 2023-08-28 09:40:26 +00:00
Ivan Kochurkin d9b5d37baf [K2, MPP] Forbid matching actual callable with dynamic return type
to expect callable with non-dynamic return type

^KT-59251 Fixed
2023-08-28 09:29:05 +00:00
Alexander Shabalin 452e67f0e6 [K/N] Make kotlin-native:backend.native:tests:sanity same as run. 2023-08-28 09:27:58 +00:00
Kirill Rakhman c30ce4aabe [FIR] Print operator keyword and token to unresolved diagnostic message
#KT-55672 Fixed
2023-08-28 08:12:25 +00:00
Kirill Rakhman 85bb7faf10 [FIR] Report WRONG_NUMBER_OF_TYPE_ARGUMENTS on typealias in super types
#KT-59893 Fixed
2023-08-28 08:02:31 +00:00
Kirill Rakhman bb8a46c3a0 [Test] Parallelize test generation 2023-08-28 08:02:05 +00:00
Aleksei.Glushko 0d04e170b1 [K/N] Prevent unmarked objects from appearing during concurrent weak processing
Merge-request: KT-MR-11614
Merged-by: Alexey Glushko <aleksei.glushko@jetbrains.com>
2023-08-26 16:00:12 +00:00
Dmitriy Novozhilov 3013e3549c [FIR2IR] Merge declareParameters and bindAndDeclareParameters functions 2023-08-25 21:06:15 +00:00
Dmitriy Novozhilov d4f55894b4 [FIR2IR] Properly calculate dispatch receiver type for fake overrides
If some function is not fake-override, then its type should be just
  default type of containing class
For fake overrides the default type calculated in the following way:
1. Find first overridden function, which is not fake override
2. Take its containing class
3. Find supertype of current containing class with type constructor of
   class from step 2

^KT-60252 Fixed
2023-08-25 21:06:15 +00:00
Dmitriy Novozhilov e28f97cf6d [FIR2IR] Extract setting of declaration parent from bindAndDeclareParameters function
Setting parent has nothing in common with declaring parameters
2023-08-25 21:06:15 +00:00
Alex Kuznetsov 35b3a9ec82 [Docs] Samples for 'step' function 2023-08-25 19:34:39 +00:00
Timofey Solonin 53645bce2b [MPP] Specify missing target for arm macOS
^KT-61439
2023-08-25 18:21:27 +00:00
Ilya Goncharov 355ad3e641 [Gradle, JS] Distinguish creating prepared resolution and writing package.json
^KT-61326 fixed
2023-08-25 17:23:10 +00:00
Bogdan Mukvich 2472999242 Fail generateTests when testData directory is empty
When switching git branches, there might be some empty directories left
This causes generateTests to pass locally with no changes and fail on CI
2023-08-25 15:23:40 +00:00
Dmitriy Novozhilov 2ee0d6a4c1 [FIR2IR] Get rid of all usages of IrSymbol.owner from FirIrProvider
^KT-60924
2023-08-25 14:23:42 +00:00
Dmitriy Novozhilov 0cbce42185 [FIR2IR] Refactor Fir2IrVisitor.visitThisReceiverExpression
Extract processing of different kinds of bound symbol into separate
  functions to improve readability
2023-08-25 14:23:42 +00:00
Dmitriy Novozhilov 5148c70579 [FIR2IR] Get rid of all usages of IrSymbol.owner from Fir2IrVisitor
^KT-60924
2023-08-25 14:23:42 +00:00
Dmitriy Novozhilov ba4b84a7d0 [FIR2IR] Safely access IrSymbol.owner in Fir2IrImplicitCastInserter
^KT-60924
2023-08-25 14:23:42 +00:00
Dmitriy Novozhilov 8b9e3789b4 [FIR2IR] Restrict FirReference.toSymbolForCall utility with FirResolvedNamedReference only
Previously it handled `FirResolvedNamedReference` and `FirThisReceiverReference`,
  but the second one effectively was never passed to this function. It
  happened because `FirThisReceiverReference` is present only in `FirThisReceiverExpression`,
  which is processed separately in `Fir2IrVisitor.visitThisReceiverExpression`,
  and its implementation don't call `toSymbolForCall`
2023-08-25 14:23:41 +00:00
Dmitriy Novozhilov fa3e9c615b [FIR2IR] Get rid of all usages of IrSymbol.owner from ConversionUtils
^KT-60924
2023-08-25 14:23:41 +00:00
Dmitriy Novozhilov 55a6b1ef9f [FIR2IR] Move utilities for creating fake overrides to FakeOverrideGenerator 2023-08-25 14:23:41 +00:00
Dmitriy Novozhilov ddde2b760a [FIR2IR] Get rid of all usages of IrSymbol.owner from Fir2IrConverter
^KT-60924
2023-08-25 14:23:41 +00:00
Dmitriy Novozhilov fd7fec2fc9 [FIR2IR] Get rid of all usages of IrSymbol.owner from OperatorExpressionGenerator
^KT-60924
2023-08-25 14:23:41 +00:00
Dmitriy Novozhilov 42dd29aade [FIR2IR] Introduce shortcut utilities for unsubstituted and declared scopes 2023-08-25 14:23:41 +00:00
Dmitriy Novozhilov 5355f0f705 [FIR2IR] Get rid of all usages of IrSymbol.owner from AdapterGenerator
^KT-60924
2023-08-25 14:23:41 +00:00
Dmitriy Novozhilov 39195146a9 [FIR2IR] Generate bodies of synthetic data/value class members after f/o creation 2023-08-25 14:23:41 +00:00
Dmitriy Novozhilov 76d3c0e804 [FIR2IR] Get rid of all usages of IrSymbol.owner from DataClassMembersGenerator
This change uncovered the following problem in pipeline: we have a contract,
  that all bodies will be generated after all fake overrides will be preprocessed.
  But DataClassMembersGenerator generates bodies before f/o creation,
  which leads to the problem, if data class has forward reference to some
  class which was not processed before (because in this case generator
  of `hashCode` function will try to reference f/o, which is not created yet,
  which leads to `SymbolAlreadyBound` problem)

```
data class Some(val a: A) {
    generated fun hashCode(): Int {
        return a.hashCode() // (1) is not generated yet
    }
}

class A {
    fake-override fun hashCode(): Int // (1)
}
```

This problem will be fixed in the next commit

(related test is compiler/testData/codegen/box/ir/kt52677.kt)

^KT-60924
2023-08-25 14:23:41 +00:00
Dmitriy Novozhilov b38de13696 [IR] Mark some IR utilities with IrSymbolInternals
Those utilities have symbol as input and output, but call `owner` under the hood

^KT-60923
2023-08-25 14:23:41 +00:00
Dmitriy Novozhilov a76c5a68f6 [FIR2IR] Use symbol instead of IR in Fir2IrDeclarationStorage.enter/leaveScope
^KT-60924
2023-08-25 14:23:41 +00:00
Dmitriy Novozhilov ea3378566d [FIR2IR] Get rid of all usages of IrSymbol.owner from ClassMemberGenerator
^KT-60924
2023-08-25 14:23:41 +00:00
Dmitriy Novozhilov 100b158678 [FIR2IR] Relax opt-in to IrSymbolInternals for Fir2IrAnnotationsFromPluginRegistrar
^KT-60924
2023-08-25 14:23:41 +00:00
Dmitriy Novozhilov d847d00d6f [FIR2IR] Get rid of most of usages IrSymbol.owner from CallAndReferenceGenerator
^KT-60924
2023-08-25 14:23:41 +00:00
Dmitriy Novozhilov ff1c38872e [FIR2IR] Introduce an ability to lookup for accessors and backing field without accessing owner of property symbol
^KT-60924
2023-08-25 14:23:40 +00:00
Bogdan Mukvich 7b00323b89 [Build] Update guava
Fix some reports from "Show Vulnerable Dependencies"

^KTI-1342
2023-08-25 14:10:37 +00:00
Bogdan Mukvich dbb5072a26 [Build] Update dependencies
Fix some reports from "Show Vulnerable Dependencies"

^KTI-1342
2023-08-25 14:10:37 +00:00
Bogdan Mukvich 62a6bb1a31 [Build] Update dependencies in test-mutes module
^KTI-1342
2023-08-25 14:10:37 +00:00
Stanislav Ruban a03f65e06b !fixup [tests] BI (1P&1TV/1TIO): add tests for target types
failing legacy JVM backend tests for
LocalClass.kt and GenericLocalClass.kt test data
were not initially muted
2023-08-25 14:01:56 +00:00
Stanislav Ruban 44a4c4ee1c [tests] BI (1P&1TV/1TIO): add tests for target types
single builder parameter
single postponed type variable
single origin of type information

relevant issues:
KT-60719
KT-60720
KT-60855
KT-60877
KT-60880
2023-08-25 14:01:56 +00:00
Sebastian Sellmair bfe54942d3 [Gradle] IdeProjectToProjectCInteropDependencyResolver: Resolve dependencies leniently
^KT-61466 Verification Pending
2023-08-25 13:58:52 +00:00
Sebastian Sellmair 8bb64040c0 [Gradle] Implement test native project dependencies resolve leniently to cover KT-61466 2023-08-25 13:58:52 +00:00
Nikolay Lunyak 77feb86a85 [FIR] Report the use of inline on primary constructor parameters
^KT-59664 Fixed
2023-08-25 12:23:56 +00:00
Ilya Gorbunov 6c4f6907ea Update ant version in legacy dokka docs build 2023-08-25 11:28:46 +00:00
Yahor Berdnikau 0c0507c25f [Gradle] Fallback to the highest supported Kotlin JVM target
If used toolchain JavaVersion is not yet supported by the current Kotlin
compiler, we are now fallback to the highest supported JVM target
version instead of failing the build.

^KT-58987 Fixed
2023-08-25 10:38:56 +00:00
Kirill Rakhman 844ab4ee74 [FIR] Remove FirExpression.typeRef
#KT-61312 Fixed
2023-08-25 10:16:41 +00:00
Mikhail Glukhikh c4fbbe7338 Fix old JS BE tests in MultiplatformJpsTestWithGenerated by using K1 2023-08-25 08:57:53 +00:00