Commit Graph

92108 Commits

Author SHA1 Message Date
Ilya Kirillov a5c8a20b69 [fir] add detailed error messages for MultipleModuleDataProvider checks 2022-04-13 12:53:28 +02:00
Ilya Kirillov 0fa791e669 [low level fir] lazyly get KtSymbol for builtins 2022-04-13 12:53:28 +02:00
Ilya Kirillov 66df69ea2c [low level fir, tests] temporary mute some tests with the latest full jdk
full jdk paths are not handled well after test infra rework
2022-04-13 12:53:27 +02:00
Ilya Kirillov 3bd892fe82 [analysis api fe10] provide a dummy implementation for KtFe10SymbolContainingDeclarationProvider.getContainingModule
to satisfy some tests
2022-04-13 12:53:26 +02:00
Ilya Kirillov 2cd0792e98 [analysis api, tests] actualize testdata with newly added getContainingModule 2022-04-13 12:53:25 +02:00
Ilya Kirillov 16470a2406 [analysis api] provide a function to get containing module for a KtSymbol 2022-04-13 12:53:24 +02:00
Ilya Kirillov 69a53bc742 [low level fir] use correct FirModuleData for declarations provided by FirJavaFacade 2022-04-13 12:53:23 +02:00
Ilya Kirillov 2649788b87 [analysis api fir] put every library into a separate KtModule in tests 2022-04-13 12:53:22 +02:00
Ilya Kirillov 252d8e283b [low level fir] create separate FirModuleData for every library module dependency 2022-04-13 12:53:21 +02:00
Ilya Kirillov e69fa1ae07 [analysis api, test] rework test infrastructure, add possibility to create multimodule tests 2022-04-13 12:53:19 +02:00
Ilya Kirillov 6831bde751 [analysis api fir, tests] update parameter names in testdata 2022-04-13 12:53:18 +02:00
Ilya Kirillov 207ca7eb08 [analysis api, tests] simplify tests 2022-04-13 12:53:17 +02:00
Ilya Kirillov 2506878063 [analysis api, tests] regenerate tests 2022-04-13 12:53:16 +02:00
Ilya Kirillov 329e495b63 [analysis api, tests] generate analysis api in a separate tests-gen folder 2022-04-13 12:53:14 +02:00
Ilya Kirillov 22918ac2f4 [analysis api, tests] generate standalone tests 2022-04-13 12:53:08 +02:00
Ilya Kirillov 037c50c26b [analysis api, tests] move test classes to corresponding packages 2022-04-13 12:53:06 +02:00
Ilya Kirillov 78685e93d1 [analysis api, tests] move resolve call tests to separate package 2022-04-13 12:53:05 +02:00
Ilya Kirillov 8dd66dd338 [analysis api] regenerate tests 2022-04-13 12:53:04 +02:00
Ilya Kirillov 3b55585782 [tests] Fix file path in testdata 2022-04-13 12:53:03 +02:00
Ilya Kirillov 339a51fbc6 [low level api fir] unmute now passing tests 2022-04-13 12:53:02 +02:00
Ilya Kirillov 4bd7fed1ea [analysis api, test] rework test infrastructure, add multimodule tests 2022-04-13 12:53:01 +02:00
Ilya Kirillov 1e5cf80278 [analysis api, refactoring] move base test cases to base modules, improve service names 2022-04-13 12:53:00 +02:00
Ilya Kirillov 443ee4c860 [analysis api] allow generating test with for with more possible parameters 2022-04-13 12:52:59 +02:00
Ilya Kirillov 12e0254918 [analysis api] simplify dependent analysis mode tests 2022-04-13 12:52:58 +02:00
Ilya Kirillov 3206c0ce87 [analysis api, refactoring] get rid of HL name in class names 2022-04-13 12:52:57 +02:00
Ilya Kirillov 3838552a75 [analysis api] move some test framework parts to a separate module 2022-04-13 12:52:55 +02:00
Sergey Bogolepov 19658b3a47 [K/N] Disable mutation checks if freezing is disabled 2022-04-13 10:51:37 +00:00
Jinseong Jeon e72dc7d0c9 ULC: use special name for default setter parameter
to match the name appeared at LVT in compiler-generated JVM bytecode
2022-04-12 22:05:24 +02:00
Jinseong Jeon 2763b58cdd RAW FIR: use special name for default setter parameter
FE1.0 descpritor, PSI2IR, and JVM IR backend use that.
FIR2IR is also using that, which implies name "value" in RAW FIR
maybe has not been used anywhere.
2022-04-12 22:05:22 +02:00
Ilya Gorbunov 3778b1fde1 Remove ExperimentalStdlibApi no longer required in tests 2022-04-12 15:03:42 +00:00
Ilya Gorbunov e74a3eb0e9 Promote findAnnotations to Stable #KT-51470 2022-04-12 15:03:41 +00:00
Ilya Gorbunov f3cf8cc13b Hide subarrayContentToString in Native&Wasm 2022-04-12 15:03:40 +00:00
Ilya Gorbunov 1845e326d1 Hide deprecated Double/FloatArray.contains/indexOf/lastIndexOf 2022-04-12 15:03:40 +00:00
Ilya Gorbunov b35c571a23 Remove deprecated sequence and iterator builders
They were originally provided for migration from experimental coroutines

#KT-26678
2022-04-12 15:03:39 +00:00
Ilya Gorbunov 2303730d57 Remove deprecated and not stabilized primitive unsigned iterators 2022-04-12 15:03:38 +00:00
Ilya Gorbunov 4598552e46 Promote Regex.matchAt and matchesAt to Stable #KT-51470 2022-04-12 15:03:37 +00:00
Ilya Goncharov d62b01ef41 [JS] Update lock files
Merge-request: KT-MR-6073
Merged-by: Ilya Goncharov <Ilya.Goncharov@jetbrains.com>
2022-04-12 15:02:21 +00:00
Yahor Berdnikau 2c252f9231 Print in info level logs applied plugin variant
^KT-49227 Fixed
2022-04-12 14:48:49 +00:00
Yahor Berdnikau e8774448ee Allow to register specific variant implementations
Such way those implementations are accessible from the common code.
 To avoid putting stub implementations in every variant, it is also
 possible to add default implementation from the common code if variant
 hasn't register own.

 As an example of usage, support for removed in Gradle 7.0 'maven' plugin
 was moved into 'main' variant (Gradle 6.7.1 - 6.9.3).

 ^KT-49227 In Progress
2022-04-12 14:48:48 +00:00
Yahor Berdnikau 78cc2365b0 Fix gradle api dependency version in variants
Common SourceSet was forcing gradle api version to be the same
in all plugin variants via 'extendsFrom(..)'.

^KT-49227 In Progress
2022-04-12 14:48:48 +00:00
Mads Ager 1e444e0451 [JVM IR] Limit local variables in do-while conditions.
Locals introduced in the body of a do-while loop are not
necessarily live at the do-while condition. For example,
if there is a continue in the body before the declaration:

    do {
      if (shouldContinue(x))
        continue
      val y = 32  // not always defined in the condition
      doSomething(y)
    } while (x < 2)

For locals referenced in the condition such code is rejected
by the frontend because a local referenced in the condition
must be always defined when you get there.

However, locals that are not used in the condition were always
put in the local variable table. This leads to invalid locals
information which can trip of debuggers and other build tools
such as the D8 dexer.

This patch only puts in locals information for locals actually
referenced in the local variable table for the condition.

^Fixes KT-51754
2022-04-12 15:47:14 +02:00
Roman Golyshev 32fa2fc476 [FIR] Resolve receiver in qualified expressions with no selector
In qualified expression like `foo().`, selector expression is null.
Because of that the whole expression was marked as an error FIR
expression, and `foo()` part was not resolved at all (including
arguments and everything else).

This commit fixes the problem by providing receiver's FIR expression
as an underlying expression for error FIR expression. That way
it will be seen by all resolve transformers and will be successfully
resolved.

^KTIJ-21484 Fixed
2022-04-12 10:55:12 +00:00
Pavel Punegov 3b53d8694f [K/N][build] Fix build version property usage 2022-04-12 08:33:31 +00:00
Yahor Berdnikau 85689f4eb3 Fix jvmTarget was not set on reusing configuration cache.
When project has toolchain configured and on reusing configuration
cache, 'filteredMapArguments' input was calculated without actual
value of `jvmTarget` provided by toolchain leading to non-UP-TO-DATE
KotlinCompile task state.

^KT-51937 Fixed
2022-04-12 08:32:30 +00:00
Svyatoslav Scherbina 1dae506198 Mention concurrent sweep in kotlin-native/NEW_MM.md 2022-04-12 07:11:21 +00:00
Svyatoslav Scherbina 956cd1ebde Update kotlin-native/NEW_MM.md to Kotlin 1.6.20 and Ktor 2.0.0
Also use "memory manager" instead of "memory model", since this is more correct and matches other documents.

Co-authored-by: Sergey Bogolepov <sergey.bogolepov@jetbrains.com>
2022-04-12 07:10:46 +00:00
konstantin.tskhovrebov c82b1d3e33 KT-51884 Skip XCFramework and FatFramework tasks on non-mac machines. 2022-04-12 06:52:46 +00:00
Nikolay Krasko 8bc29a3011 Apply reproducible-build-maven-plugin to fix ordering in resulting jars
Plugin https://github.com/Zlika/reproducible-build-maven-plugin has
an Apache 2-0 licence.

There's an explicit mentioning that ZIP and
JAR entries ordering `depends on file system order` at
https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=74682318

kotlin-annotation-processing-maven-{version}-sources.jar
kotlin-archetype-js-{version}-sources.jar
kotlin-archetype-jvm-{version}-sources.jar
kotlin-maven-allopen-{version}-sources.jar and other jars were affected.

KTI-729
2022-04-11 21:38:04 +00:00
pyos d61e7db937 JVM_IR: add a test for when(enum) binary compatibility 2022-04-11 22:50:07 +02:00
pyos 518a6dec8c JVM_IR: ignore NoSuchFieldError when constructing enum mappings
^KT-30473 Fixed
^KT-38637 Fixed
2022-04-11 22:50:07 +02:00