Commit Graph

76758 Commits

Author SHA1 Message Date
anastasiia.spaseeva c1765a5306 Add changelog for 1.4.20-M2 2020-10-19 13:15:49 +03:00
Vasily Levchenko 81043beb33 [kotlin compiler][update] 1.4.30-dev-1638
* cc4d93ac71 - (HEAD -> master, tag: build-1.4.30-dev-1638, origin/master, origin/HEAD) [IR] Eliminated expensive calculating of fqNames (#3815) (vor 3 Tagen) <LepilkinaElena>
* 4f5b2b8e22 - (tag: build-1.4.30-dev-1637) Uncomment accidentally commented code in debugger tests (vor 3 Tagen) <Ilya Kirillov>
* 318d11dcec - (tag: build-1.4.30-dev-1633, origin/rr/gorshenev/tmp_rebase) [JVM_IR] Remove muting of fwBackingField. (vor 3 Tagen) <Mads Ager>
* 0505bd958a - [JVM] Fix the nop removal optimization. (vor 3 Tagen) <Mads Ager>
* 69127445a3 - (tag: build-1.4.30-dev-1631) JVM_IR: refine the condition for caching method nodes (vor 3 Tagen) <pyos>
* d6e0d2a55b - (tag: build-1.4.30-dev-1618) [Gradle, JS] Fix K/JS project build with configuration cache (part 2) (vor 3 Tagen) <Alexander.Likhachev>
* d7db643422 - (tag: build-1.4.30-dev-1615) Add box test for KT-33992 (vor 3 Tagen) <Roman Artemev>
* 023a62395a - Add box test for KT-36897 (vor 3 Tagen) <Roman Artemev>
* 5e406e8803 - (tag: build-1.4.30-dev-1613) [FIR-IDE] Unmute passing test (vor 3 Tagen) <Dmitriy Novozhilov>
* 9f5191f2a1 - [FIR-IDE] Regenerate tests (vor 3 Tagen) <Dmitriy Novozhilov>
* 8cb08139e1 - [FIR-IDE] Add example flag for enabling fir ide to gradle.properties (vor 3 Tagen) <Dmitriy Novozhilov>
* 0e47d32587 - [FIR] Properly set type of constants for java declarations (vor 3 Tagen) <Dmitriy Novozhilov>
* 5f641a2552 - [FIR] Add wrapping scopes with forced calculator in checkers and fir2ir (vor 3 Tagen) <Dmitriy Novozhilov>
* e75f218f87 - [FIR] Rename FirDeclarationOrigin.FakeOverride to SubstitutionOverride (vor 3 Tagen) <Dmitriy Novozhilov>
* 739ebf772c - [FIR] Add configuring FakeOverrideTypeCalculator into ConeKotlinType.scope (vor 3 Tagen) <Dmitriy Novozhilov>
* fc23cf76d4 - [FIR] Force calculation of return type of fake overrides in return type calculator (vor 3 Tagen) <Dmitriy Novozhilov>
* f9faa5be64 - [FIR] Don't force calculation of return type in substitution scope (vor 3 Tagen) <Dmitriy Novozhilov>
* 06981fc0af - [FIR] Move functions for fake override creating to separate objects (vor 3 Tagen) <Dmitriy Novozhilov>
* 1c2fdf7e3f - [FIR] Remove scope session from FirClassSubstitutionScope constructor (vor 3 Tagen) <Dmitriy Novozhilov>
* 9e863c90fc - [FIR] Remove redundant default values for functions in FirClassSubstitutionScope (vor 3 Tagen) <Dmitriy Novozhilov>
* e07f63d26c - [FIR] Move declaration attributes to declaration builders (vor 3 Tagen) <Dmitriy Novozhilov>
* 0b51fd03e2 - [FIR] Add failing test for incorrect type calculation of implicit types (vor 3 Tagen) <Dmitriy Novozhilov>
* 23f1cc6b07 - [FIR] Get rid of ReturnTypeCalculator in ScopeSession (vor 3 Tagen) <Dmitriy Novozhilov>
* fae1b70605 - [FIR] Fix type of this reference in `copy` funciton of data class (vor 3 Tagen) <Dmitriy Novozhilov>
* 0616f948c7 - (tag: build-1.4.30-dev-1612) Use actual form of decodeSerializableElement function in 'decodeSequentially' (vor 3 Tagen) <Leonid Startsev>
* 1bb2eefcaa - (tag: build-1.4.30-dev-1610) Fix find usages test testdata adding FIR_COMPARISON directive (vor 3 Tagen) <Ilya Kirillov>
* 1bc52c195c - (tag: build-1.4.30-dev-1609) [Gradle, JS] Uninternal _target in js extension (vor 3 Tagen) <Ilya Goncharov>
* 0b6959ee3d - (tag: build-1.4.30-dev-1606) [Gradle, K/N] Deprecate K/N compile classpath prop in favor of libraries (vor 3 Tagen) <Alexander.Likhachev>
* f4da283ffb - [Gradle, K/N] Move build cache tests into appropriate class (vor 3 Tagen) <Alexander.Likhachev>
* a0f4898009 - [Gradle, K/N] Make compile and link tasks cacheable (vor 3 Tagen) <Alexander.Likhachev>
* a9b53adc50 - (tag: build-1.4.30-dev-1604) JVM_IR: make `primitive == object` slightly less lazy. (vor 3 Tagen) <pyos>
* 4c09906235 - (tag: build-1.4.30-dev-1603) Build: add kotlin.build.useIRForLibraries to enable JVM IR for libraries separately (vor 3 Tagen) <Alexander Udalov>
* 29d8730964 - Build: when using JVM IR, produce stable binaries (vor 3 Tagen) <Alexander Udalov>
* 04a4f9cde6 - (tag: build-1.4.30-dev-1600) Minor: cover negative cases with test +m (vor 3 Tagen) <Pavel Kirpichenkov>
* 9669ab1468 - Report warning on @JvmStatic in private companion objects (vor 3 Tagen) <Pavel Kirpichenkov>
* d769ca06ab - Add test for KT-25114 (vor 3 Tagen) <Pavel Kirpichenkov>
* c6da2a1138 - (tag: build-1.4.30-dev-1597) Reuse built functional types for postponed arguments by expected types and paths from a top level type variable (vor 3 Tagen) <Victor Petukhov>
* ee5edf4caa - (tag: build-1.4.30-dev-1596, origin/rr/pdn_jvmir_abi_ic_remove_int) JVM_IR fix 'remove' in inline class implementing MutableCollection (vor 3 Tagen) <Dmitry Petrov>
* 95edcea9a9 - (tag: build-1.4.30-dev-1579) Build: fix kotlinx-metadata-jvm publication (vor 4 Tagen) <Alexander Udalov>
* 8dd80fe3c9 - (tag: build-1.4.30-dev-1578) Wizard: fix maven testdata (vor 4 Tagen) <Ilya Kirillov>
* 394245ba4c - Wizard: do not run compose tests for Groovy dsl (vor 4 Tagen) <Ilya Kirillov>
* ec1528e742 - Wizard: use custom Kotlin version for compose project (vor 4 Tagen) <Ilya Kirillov>
* b0bb03d761 - Wizard: return junit back to android target (vor 4 Tagen) <Ilya Kirillov>
* 42914b4046 - Wizard: add resolutionStrategy for mpp library template (vor 4 Tagen) <Ilya Kirillov>
* f5d638eb8f - Wizard: do not create empty local.properties file (vor 4 Tagen) <Ilya Kirillov>
* aeff3c2682 - Wizard: regenerate tests (vor 4 Tagen) <Ilya Kirillov>
* b7017c233e - Wizard: use different Kotlin version for compose templates (vor 4 Tagen) <Ilya Kirillov>
* 1cc007fcbf - Wizard: introduce Compose MPP template (vor 4 Tagen) <Ilya Kirillov>
* 7422690ea1 - Wizard: fix InvalidModuleDependencyError error message (vor 4 Tagen) <Ilya Kirillov>
* 2a5679e0c6 - Wizard: make project templates list scrollable (vor 4 Tagen) <Ilya Kirillov>
* db069c3264 - Wizard: add compose desktop template (vor 4 Tagen) <Ilya Kirillov>
* d547cb9ee6 - Wizard: introduce mobile mpp module template & allow module templates for mpp modules (vor 4 Tagen) <Ilya Kirillov>
* ac6b9e4aa0 - Wizard: add android extensions plugin only by flag (vor 4 Tagen) <Ilya Kirillov>
* ed924a1c99 - Wizard: change custom maven repositories rendering (vor 4 Tagen) <Ilya Kirillov>
* 31dac65a39 - Wizard: remove extra line break in build files (vor 4 Tagen) <Ilya Kirillov>
* 9948c265df - Wizard: add setting to hide version & groupId in gradle (vor 4 Tagen) <Ilya Kirillov>
* d3e99bd7a7 - Wizard: simplify custom maven repository syntax for Gradle (vor 4 Tagen) <Ilya Kirillov>
* 3ef12e32ee - Wizard: update libraries versions (vor 4 Tagen) <Ilya Kirillov>
* fa8951c19e - Wizard: move common repositories to the allprojects section (vor 4 Tagen) <Ilya Kirillov>
* e824199169 - Wizard: remove resolutionStrategy from settings.gradle (vor 4 Tagen) <Ilya Kirillov>
* 8b89eb5dc8 - Wizard: clean activity_main.xml & AndroidManifest.xml files (vor 4 Tagen) <Ilya Kirillov>
* 733cd8891a - Wizard: simplify android configuration (vor 4 Tagen) <Ilya Kirillov>
* 4858b72a8d - (tag: build-1.4.30-dev-1577) Bump junit from 4.11 to 4.13.1 in /libraries (vor 4 Tagen) <dependabot[bot]>
* f69928d2b1 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 845d6ae063 - Bump junit in /libraries/tools/kotlin-maven-plugin/src/it/simple (vor 4 Tagen) <dependabot[bot]>
* b778298486 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* f3c26af0c7 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* c2ed625f25 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* e9255c8f17 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 41123be3a2 - (tag: build-1.4.30-dev-1575) Bump junit (vor 4 Tagen) <dependabot[bot]>
* 3f27bb374a - Bump junit (vor 4 Tagen) <dependabot[bot]>
* fb7736377c - Bump junit (vor 4 Tagen) <dependabot[bot]>
* df202c9b3f - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 7fe9966e02 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 046ed1e08c - (tag: build-1.4.30-dev-1573) Bump junit (vor 4 Tagen) <dependabot[bot]>
* 0396ed29cc - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 2a9e6df9b1 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 1bf2a6b013 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 797c02e1cb - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 916f9766ad - (tag: build-1.4.30-dev-1572) Bump junit (vor 4 Tagen) <dependabot[bot]>
* c012b16430 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 74ad4eb00e - Bump junit (vor 4 Tagen) <dependabot[bot]>
* e888f54ae8 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* 1ca5bef7e6 - (origin/dependabot/maven/libraries/tools/kotlin-maven-plugin-test/src/it/test-helloworld/junit-junit-4.13.1) Bump junit (vor 6 Tagen) <dependabot[bot]>
* 209d5fd6c9 - Bump junit (vor 4 Tagen) <dependabot[bot]>
* c8e84f82eb - (tag: build-1.4.30-dev-1564) Proper check NON_JVM_DEFAULT_OVERRIDES_JAVA_DEFAULT in new jvm-default modes (vor 4 Tagen) <Mikhael Bogdanov>
* b6dc99b98e - Skip java defaults in EXPLICIT_OVERRIDE_REQUIRED_IN_MIXED_MODE check (vor 4 Tagen) <Mikhael Bogdanov>
* a60febbdfb - (tag: build-1.4.30-dev-1559) KotlinMPPGradleProjectResolver: Ensure that artifactsMap is populated when Android plugin applied (vor 4 Tagen) <sebastian.sellmair>
* b42795a9ea - (tag: build-1.4.30-dev-1557) Bump 'com.gradle.plugin-publish' from 0.11.0 to 0.12.0 (#3853) (vor 4 Tagen) <Victor Turansky>
* 09acea5548 - (tag: build-1.4.30-dev-1555) [FIR]: Set proper classId to enum entries (vor 4 Tagen) <Juan Chen>
* ed188204b4 - (tag: build-1.4.30-dev-1551) FIR checker: make property init analyzer path-sensitive (vor 4 Tagen) <Jinseong Jeon>
* 6fc3f7e776 - FIR CFG: label edges from try-enter through finally block to exit target (vor 4 Tagen) <Jinseong Jeon>
* 43852ad7ab - FIR CFG: add edges from try/catch to finally (vor 4 Tagen) <Jinseong Jeon>
* ea2f773e54 - FIR checker: reproduce KT-42350 (vor 4 Tagen) <Jinseong Jeon>
* da69e3db7c - (tag: build-1.4.30-dev-1550) kotlinx-metadata-jvm: report error on using metadata version < 1.4 in writers (vor 4 Tagen) <Alexander Udalov>
* 5d7d9beb0d - kotlinx-metadata-jvm: remove bytecodeVersion from write methods (vor 4 Tagen) <Alexander Udalov>
* 90d66b0ba5 - kotlinx-metadata: reformat, cleanup, fix inspections (vor 4 Tagen) <Alexander Udalov>
* c89c31cd29 - (tag: build-1.4.30-dev-1549) [KLIB] Fix package name (js -> common) (vor 4 Tagen) <Roman Artemev>
* 07a1124b99 - [KLIB] Support error code in metadata (vor 4 Tagen) <Roman Artemev>
* f4830c88b9 - [JS IR] Make error code tests modular (vor 4 Tagen) <Roman Artemev>
* 0f7032051b - [JS IR] Fix klib generation (proper order of flags) (vor 4 Tagen) <Roman Artemev>
* a4945878aa - [KLIB] Pass `containsErrorCode` flag from library/IC cache into deserializer (vor 4 Tagen) <Roman Artemev>
* 28c6d17ab4 - [KLIB] Mark klib that contains error with special flag (vor 4 Tagen) <Roman Artemev>
* 98e5510871 - [KLIB] Support IrError* nodes in serialization (vor 4 Tagen) <Roman Artemev>
* 934141f8af - [KLIB] Support IrError* nodes in klib proto (vor 4 Tagen) <Roman Artemev>
* 8ce497c7ef - [IR] Add wrapped descriptor for error declaration (vor 4 Tagen) <Roman Artemev>
* eacc94a89d - (tag: build-1.4.30-dev-1533) Do not hide synthetic properties except `isEmpty` from Java (vor 4 Tagen) <Mikhail Zarechenskiy>
* 4227e2dc40 - (tag: build-1.4.30-dev-1519) [Cocoapods] Fix task and directory naming to avoid subspecs collision (vor 4 Tagen) <Yaroslav Chernyshev>
* b8817d5884 - (tag: build-1.4.30-dev-1517) FIR2IR: clean up dead code regarding overriding utils (vor 4 Tagen) <Jinseong Jeon>
* 5f64d6ec76 - FIR2IR: add support for callable reference to Java field (vor 4 Tagen) <Jinseong Jeon>
* 65545a10c4 - FIR: reproduce KT-42656 (vor 4 Tagen) <Jinseong Jeon>
2020-10-19 11:38:07 +02:00
Georgy Bronnikov b70a173595 Formatting changes 2020-10-19 12:21:13 +03:00
Georgy Bronnikov 44893e09c1 IR: remove unneeded ObsoleteDescriptorBasedAPI uses from backend.common 2020-10-19 12:21:12 +03:00
Georgy Bronnikov a0a6a4b0f1 JVM_IR: make ObsoleteDescriptorBasedApi use explicit in all of backend.jvm 2020-10-19 12:21:12 +03:00
Georgy Bronnikov 305da8ee10 IR: IrFunctionReference.fromSymbolDescriptor 2020-10-19 12:21:12 +03:00
Georgy Bronnikov 14b3beefb3 IR: IrDelegatingConstructorCall.fromSymbolDescriptor 2020-10-19 12:21:12 +03:00
Georgy Bronnikov b28c85f5ea IR: IrCall.fromSymbolDescriptor 2020-10-19 12:21:12 +03:00
Georgy Bronnikov ab3ef3a7e9 IR: remove descriptor usage 2020-10-19 12:21:12 +03:00
Georgy Bronnikov 065edac64b IR: remove unused functions 2020-10-19 12:21:12 +03:00
Georgy Bronnikov 726282c1ee IR: remove a descriptor usage 2020-10-19 12:21:11 +03:00
Alexander Shabalin ac1a466cc9 Generalize finalization with Cleaner (#4362) 2020-10-19 11:57:24 +03:00
Dmitriy Dolovov c69402c800 [Commonizer] Fix computing underlyingType and expandedType in CirTypeAlias 2020-10-19 11:21:53 +03:00
LepilkinaElena cc4d93ac71 [IR] Eliminated expensive calculating of fqNames (#3815) 2020-10-16 21:07:04 +03:00
Ilya Kirillov 4f5b2b8e22 Uncomment accidentally commented code in debugger tests 2020-10-16 20:54:50 +03:00
Mads Ager 318d11dcec [JVM_IR] Remove muting of fwBackingField.
It has been rebased and is not using this .out file at all
for JVM_IR. So in terms of testing this is a noop.
2020-10-16 19:21:08 +03:00
Mads Ager 0505bd958a [JVM] Fix the nop removal optimization.
Never remove a nop if that would cause a line number to move
across a local lifetime boundary.

This fixes KT-42725.
2020-10-16 19:21:08 +03:00
pyos 69127445a3 JVM_IR: refine the condition for caching method nodes
Don't cache non-inline `suspend fun`s if there is no `$$forInline`;
do cache `invokeSuspend` if there *is* `invokeSuspend$$forInline`.
2020-10-16 18:05:04 +02:00
Alexander.Likhachev d6e0d2a55b [Gradle, JS] Fix K/JS project build with configuration cache (part 2)
It is still does not support configuration cache but these changes allows build to pass with warnings
#KT-42494 Fixed
2020-10-16 16:15:05 +03:00
Roman Artemev d7db643422 Add box test for KT-33992 2020-10-16 16:02:02 +03:00
Roman Artemev 023a62395a Add box test for KT-36897 2020-10-16 16:02:01 +03:00
Dmitriy Novozhilov 5e406e8803 [FIR-IDE] Unmute passing test 2020-10-16 15:24:58 +03:00
Dmitriy Novozhilov 9f5191f2a1 [FIR-IDE] Regenerate tests 2020-10-16 15:24:57 +03:00
Dmitriy Novozhilov 8cb08139e1 [FIR-IDE] Add example flag for enabling fir ide to gradle.properties 2020-10-16 15:24:57 +03:00
Dmitriy Novozhilov 0e47d32587 [FIR] Properly set type of constants for java declarations 2020-10-16 15:24:57 +03:00
Dmitriy Novozhilov 5f641a2552 [FIR] Add wrapping scopes with forced calculator in checkers and fir2ir 2020-10-16 15:24:57 +03:00
Dmitriy Novozhilov e75f218f87 [FIR] Rename FirDeclarationOrigin.FakeOverride to SubstitutionOverride 2020-10-16 15:24:57 +03:00
Dmitriy Novozhilov 739ebf772c [FIR] Add configuring FakeOverrideTypeCalculator into ConeKotlinType.scope 2020-10-16 15:24:57 +03:00
Dmitriy Novozhilov fc23cf76d4 [FIR] Force calculation of return type of fake overrides in return type calculator 2020-10-16 15:24:57 +03:00
Dmitriy Novozhilov f9faa5be64 [FIR] Don't force calculation of return type in substitution scope 2020-10-16 15:24:56 +03:00
Dmitriy Novozhilov 06981fc0af [FIR] Move functions for fake override creating to separate objects 2020-10-16 15:24:56 +03:00
Dmitriy Novozhilov 1c2fdf7e3f [FIR] Remove scope session from FirClassSubstitutionScope constructor 2020-10-16 15:24:56 +03:00
Dmitriy Novozhilov 9e863c90fc [FIR] Remove redundant default values for functions in FirClassSubstitutionScope 2020-10-16 15:24:56 +03:00
Dmitriy Novozhilov e07f63d26c [FIR] Move declaration attributes to declaration builders 2020-10-16 15:24:56 +03:00
Dmitriy Novozhilov 0b51fd03e2 [FIR] Add failing test for incorrect type calculation of implicit types 2020-10-16 15:24:56 +03:00
Dmitriy Novozhilov 23f1cc6b07 [FIR] Get rid of ReturnTypeCalculator in ScopeSession 2020-10-16 15:24:55 +03:00
Dmitriy Novozhilov fae1b70605 [FIR] Fix type of this reference in copy funciton of data class 2020-10-16 15:24:55 +03:00
Leonid Startsev 0616f948c7 Use actual form of decodeSerializableElement function in 'decodeSequentially'
code path in deserialize.

Old 3-argument form is deprecated and should be removed.
2020-10-16 15:24:12 +03:00
Ilya Kirillov 1bb2eefcaa Fix find usages test testdata adding FIR_COMPARISON directive 2020-10-16 14:54:16 +03:00
Ilya Goncharov 1bc52c195c [Gradle, JS] Uninternal _target in js extension 2020-10-16 14:51:35 +03:00
Pavel Punegov 6937ac56e7 Update exclude list for the KT-42723 2020-10-16 14:13:40 +03:00
Pavel Punegov 097b714dbb Update exclude list with the new set of issues 2020-10-16 14:13:40 +03:00
Alexander.Likhachev 0b6959ee3d [Gradle, K/N] Deprecate K/N compile classpath prop in favor of libraries 2020-10-16 13:48:07 +03:00
Alexander.Likhachev f4da283ffb [Gradle, K/N] Move build cache tests into appropriate class 2020-10-16 13:48:07 +03:00
Alexander.Likhachev a0f4898009 [Gradle, K/N] Make compile and link tasks cacheable
Currently build cache isn't supported for frameworks as symlinks in build output is used. Symlinks are transformed into regular files by Gradle build cache and that breaks incremental build. Cinterop process task is not cacheable at the moment as it depends on OS-environment
#KT-39564 Fixed
2020-10-16 13:48:07 +03:00
pyos a9b53adc50 JVM_IR: make primitive == object slightly less lazy.
Discarding the value used to leave an unused-but-never-destroyed
temporary variable. It's best to not separate calls to `enterTemp`
and `leaveTemp`.

Not sure what kind of test to add though, since this is minor -- if the
result of the comparison is discarded, then the entire statement is more
or less pointless.

 #KT-42251 Fixed
2020-10-16 12:25:55 +02:00
Alexander Udalov 4c09906235 Build: add kotlin.build.useIRForLibraries to enable JVM IR for libraries separately
The next step for JVM IR adoption in our project is going to be enabling
`kotlin.build.useIR`, but keeping `kotlin.build.useIRForLibraries`
disabled until we fix all remaining ABI incompatibility issues for
library code.
2020-10-16 12:13:05 +02:00
Alexander Udalov 29d8730964 Build: when using JVM IR, produce stable binaries
This is needed to allow non-JVM-IR modules depend on the modules
compiled by JVM IR. This also allows us to enable JVM IR in our build by
default now, without introducing errors to all external usages of our
compiler and other artifacts that we publish.
2020-10-16 12:13:05 +02:00
Pavel Kirpichenkov 04a4f9cde6 Minor: cover negative cases with test +m
Add case without reported diagnostic on public companion.
Only report diagnostic if @JvmStatic annotation has source in code.

KT-25114
2020-10-16 11:11:59 +03:00
Pavel Kirpichenkov 9669ab1468 Report warning on @JvmStatic in private companion objects
Deprecation cycle to prohibit in 1.5.
^KT-25114 In Progress
2020-10-16 11:11:59 +03:00