Commit Graph

95427 Commits

Author SHA1 Message Date
Xin Wang 69a4de0461 K2 JVM: Take JVM declarations conflicting error back
Since SimpleDiagnosticsCollectorWithSuppress have been replaced by
PendingDiagnosticsCollectorWithSuppress after commit 9add6f3d55,
diagnostics need to be committed now.

#KT-54366 Fixed
2022-10-17 12:46:23 +00:00
pyos 51619e0969 FIR: ignore redundant DEFINITELY_NOT_NULL_TYPE flags in deserialization
I.e. if T is already bounded by Any, deserialize T&Any as simply T
(instead of producing either an error type or an NPE, the latter
happening when the T&Any is the lower bound of a flexible type somehow)

Once again this is a problem of the kind where some weird combination of
FE1.0 and FIR causes a weird edge case error on invalid input and creating
a test with that specific setup is not really feasible.
2022-10-17 12:32:24 +02:00
vladislav.grechko aeccc2e787 Fix equality comparison of inline classes with primitive underlying type
^KT-54455 Fixed
2022-10-14 23:25:48 +00:00
nataliya.valtman 57f1405d95 Don't report compilation exceptions into error.log 2022-10-14 15:41:49 +00:00
nataliya.valtman 2379185398 Log daemon exception for In process compilation into error.log 2022-10-14 15:41:48 +00:00
Leonid Startsev 242b83edbd Prioritize @Serializable annotation on type usage over class usage
In `val p: @Serializable(X) Foo` and `@Serializable(Y) class Foo` situation,
now X would be chosen as serializer.

Fixes https://github.com/Kotlin/kotlinx.serialization/issues/1895
2022-10-14 14:15:37 +00:00
Ilya Goncharov d2d13c8765 Use nowarn flag to disable Kotlin/JS compiler warns 2022-10-14 13:36:09 +00:00
Artem Kobzar 6d888e8e31 [K/JS] Fix stdlib long path problem on Windows for ES modules tests 2022-10-14 13:29:36 +00:00
konstantin.tskhovrebov 0127c3a6c4 [KT-54442] Fix default test device Apple OS family parser. 2022-10-14 13:11:15 +00:00
konstantin.tskhovrebov 7f40a9394b [KT-54090] Filter Apple devices by availability 2022-10-14 13:11:15 +00:00
Artem Kobzar 9a4a30c9bb [K/JS] Add flag for disabling signature uniqueness checks at klib generating phase 2022-10-14 13:08:58 +00:00
Alexander Udalov d249b02cda Add JvmDefaultWithCompatibility to some interfaces
This has no effect on behavior, but will fix a binary compatibility
problem with Compose.

 #KT-54459 Fixed

Co-authored-by: Alexander Likhachev <Alexander.Likhachev@jetbrains.com>
2022-10-14 14:48:15 +02:00
Alexander Likhachev 95c4d6d027 Revert "Remove usage of deprecated Gradle field, replace with equivalent"
This reverts commit 6a491dfd0f.
2022-10-14 12:25:36 +02:00
Sergej Jaskiewicz c1f14d80fd [JS IR] Add Gradle integration tests for names in sourcemaps 2022-10-14 10:09:40 +00:00
Sergej Jaskiewicz d9681caf0c [JS IR] Generate 'names' entries for functions in sourcemaps 2022-10-14 10:09:40 +00:00
Sergej Jaskiewicz 1d0025c3cf [JS] Support the 'names' field in sourcemaps 2022-10-14 10:09:39 +00:00
Sergej Jaskiewicz 227864c6ec [JS IR] Add a compiler option for generating name entries in sourcemaps 2022-10-14 10:09:39 +00:00
pyos 8f237a60f7 Minor: make a convoluted condition even more readable 2022-10-14 08:25:28 +00:00
pyos 9a151e1422 Minor: remove unused FirOverrideService methods 2022-10-14 08:25:28 +00:00
pyos 8f19291a35 Minor: clean up FirTypeIntersectionScopeContext a bit more 2022-10-14 08:25:27 +00:00
pyos 1c2e25d727 FIR: move a condition to make it hopefully a bit clearer
A non-trivial intersection override should be created if:

1. the base methods are from different classes (for proper reporting of
   diagnostics if an override is necessary);
2. OR the return type might need to be intersected (which currently
   happens for non-subtyping scopes if there is no single maximally
   specific declaration)
2022-10-14 08:25:27 +00:00
pyos ee921412fc FIR: intersect return types of declarations in intersection scopes
^KT-54378 Fixed
2022-10-14 08:25:26 +00:00
pyos 2879e7a74c FIR: support > 1 most specific members in type intersection scopes 2022-10-14 08:25:26 +00:00
pyos 35450e6e04 FIR: refactor FirOverrideService to get a list of most specific members
There may be several if neither of them returns a subtype of the other's
returned type.
2022-10-14 08:25:25 +00:00
Sergey Bogolepov 56602290ec [K/N] Decompose ObjCExport framework generator
Split framework generation into several specialized classes
to reduce coupling.
2022-10-14 06:12:06 +00:00
Thomas Tresansky 6a491dfd0f Remove usage of deprecated Gradle field, replace with equivalent 2022-10-13 22:36:17 +02:00
Ivan Kochurkin a4ad8d59b6 [FIR] Move createSessionForTests, createSessionForTests into FirTestSessionFactoryHelper 2022-10-13 18:11:49 +00:00
Ivan Kochurkin 1deb253bac [FIR] Run FirSupertypesChecker for anonymous objects, ^KT-54300 Fixed 2022-10-13 18:11:49 +00:00
Ivan Kochurkin 69ee40325b [FIR] Fix dependencyProviders generation in FirDependenciesSymbolProviderImpl
Get rid of unnecessary creating of FirCompositeSymbolProvider
2022-10-13 18:11:49 +00:00
Ivan Kochurkin fe670d98a9 [FIR] Rename FirSessionFactory to FirJvmSessionFactory 2022-10-13 18:11:48 +00:00
Ivan Kochurkin 40a01180ff [FIR] Move createSessionWithDependencies and createEmptySession into FirSessionFactoryHelper 2022-10-13 18:11:48 +00:00
Ivan Kochurkin 281c79e21e [FIR] Inline createModuleDataForBuiltins method since it doesn't look useful 2022-10-13 18:11:48 +00:00
Ivan Kochurkin 4d89eddbe8 [FIR] Don't create FirDependenciesSymbolProvider without need 2022-10-13 18:11:47 +00:00
Ivan Kochurkin 9c6df5313a [FIR] Fix substitution of anonymous type's supertypes, ^KT-51418 Fixed 2022-10-13 18:11:47 +00:00
Ilya Goncharov c5732b6f4d [Gradle, JS] Make targetPbserver public in kotlinJsExtension 2022-10-13 17:53:40 +00:00
Sergey.Shanshin 5a1c2c56bd Added support of external serializers to the FIR
Co-authored-by: Leonid Startsev <leonid.startsev@jetbrains.com>
Merge-request: KT-MR-7334
Merged-by: Sergey Shanshin <Sergey.Shanshin@jetbrains.com>
2022-10-13 15:25:39 +00:00
vladislav.grechko 817afcd4af KT-MR-7307 review fixes 2022-10-13 15:19:10 +00:00
Anton Lakotka 4348878aab !fixup test typo 2022-10-13 14:56:51 +00:00
Anton Lakotka 728bd95aea [Gradle] Update tests after changes in sources publication
^KT-48839
2022-10-13 14:56:51 +00:00
Anton Lakotka 5e929bbd7b [Gradle] Don't publish test source sets in common module
Publish only shared source sets, including host-specific ones.

^KT-48839 Verification Pending
2022-10-13 14:56:51 +00:00
Anton Lakotka 5f26649246 [Gradle] Introduce getHostSpecificMainSharedSourceSets
^KT-48839
2022-10-13 14:56:50 +00:00
Anton Lakotka 42cda2633d [Gradle] Add/update tests about Sources Publication in MPP
^KT-48839
2022-10-13 14:56:50 +00:00
Bogdan Mukvich 1fd779e7f4 Fix dependencies in verification metadata after test 2022-10-13 14:31:32 +00:00
Bogdan Mukvich 67576b02c4 Add test for dependencies verification metadata
Every dependency used in project should have MD5 and SHA-256 hash
^KTI-943
2022-10-13 14:31:32 +00:00
Bogdan Mukvich e4e15f36ce Update dependencies verification metadata 2022-10-13 14:31:32 +00:00
Yahor Berdnikau 023b9bf284 Align new compiler options names with api naming
Use Kotlin*CompilerOptions or Kotlin*CompilerToolOptions naming approach.

^KT-54306 Fixed
2022-10-13 12:19:08 +00:00
Mikhail Glukhikh 31b3d8f859 Update info about K/N modules which do not pass FIR bootstrap
After we have advanced bootstrap to 1.8.20-dev-649,
some K2 problems inside K/N were fixed.
However, some other are still alive.

Related to KT-54123
2022-10-13 09:45:06 +00:00
Sergey Bogolepov 6a4722188f Extract SameTypeNamedCompilerPhase from NamedCompilerPhase
Currently, compiler pipelines are heavily couples with
NamedCompilerPhase. Unfortunately, NamedCompilerPhase uses the same
type for Input and Output, thus it is not applicable to phases that
try to transform some data purely.
Thus, we separate this class into two, allowing to have a new
inheritor of NamedCompilerPhase with different Input and Output types.
2022-10-13 08:25:26 +00:00
Sergey Bogolepov 3a500e536a Lift restrictions on Context in CompilerPhase
CommonBackendContext is a complex interface that
actually requires many things to be instantiated.
We don't need it for many parts of compilation pipeline:
frontend or object files phases in native backend would
work just fine without CommonBackendContext.
2022-10-13 08:25:26 +00:00
Sergey Bogolepov e1f2b89875 Untie Symbols class from CommonBackendContext
`Symbols.context` property is actually unused. Let's drop
it as it makes harder to create an instance of this class.
2022-10-13 08:24:11 +00:00