Commit Graph

79998 Commits

Author SHA1 Message Date
Kirill Shmakov 29aaf70d21 Launch common tests on local JVM via run gutter
For projects with android target and without jvm one. #KT-42463
2020-10-21 15:40:13 +03:00
Jinseong Jeon 1c1e8f7beb FIR CFG: revise edge kind between local func node and fun enter node
so that local function enter node can be visited by FIR CFA

#KT-42814 Fixed
2020-10-21 14:01:31 +03:00
Pavel Punegov ce8d983b2a Fix test after the fix for KT-17691 2020-10-21 13:58:53 +03:00
Dmitry Petrov 0b34526321 JVM_IR remove lambda hack required for odd JVM+OI behavior in KT-35849 2020-10-21 13:47:01 +03:00
Mads Ager ad88c60fd8 [JVM_IR] Copy offsets from the original function to invokeSuspend.
Otherwise, implicit returns in void returning suspend functions
will not have the line number of the end brace.

Fixes KT-41962 and KT-40464.
2020-10-21 12:38:45 +02:00
Dmitriy Novozhilov 800bfe2cdb [TEST] Update testdata broken in c2d3a252 2020-10-21 12:49:45 +03:00
Dmitriy Novozhilov c2d3a252a8 Mute very strange failing of FIR find usages test 2020-10-21 11:53:42 +03:00
Dmitriy Novozhilov 0484ab8cca Don't unwrap captured types in IDE descriptors renderers
#KT-42263 Fixed
2020-10-21 11:53:42 +03:00
Dmitriy Novozhilov 3068d79d2b [FIR-IDE] Add lock for status resolve 2020-10-21 11:53:11 +03:00
Dmitriy Novozhilov 6550bd09b1 [FIR] Ensure class resolve phase in status resolve 2020-10-21 11:53:10 +03:00
Dmitriy Novozhilov 699dd54be9 [FIR] Don't inherit some declaration modifiers (like tailrec) 2020-10-21 11:53:10 +03:00
Dmitriy Novozhilov bf1a00c73a [FIR] Rework resolution of declaration statuses
There is introduced algorithm of resolution with jumps: before
  resolution of some class we resolve all status of members of its
  supertypes, so we can properly determine inherited visibility
  and modifiers
2020-10-21 11:53:10 +03:00
Mikhail Glukhikh 0b8116dff0 [FIR] Change some phase requirements: STATUS -> DECLARATIONS
NB: Also not quite sure this is better. IMO this shows more clearly that
we require results of declarations resolve and not some strange 'STATUS'
2020-10-21 11:53:10 +03:00
Mikhail Glukhikh 275260720d Add replacePhase in FirTypeResolveTransformer.transformEnumEntry 2020-10-21 11:53:10 +03:00
Mikhail Glukhikh c171dafd91 FIR serializer: always normalize visibility
Without this commit we fail on package-private or so in serializer
2020-10-21 11:53:10 +03:00
Dmitriy Novozhilov 1ff5da5f41 [FIR] Add forgotten fake override type calculation 2020-10-21 11:53:10 +03:00
LepilkinaElena 02d4dc08a8 Added missed during merge jar file with ignored collisions (#4456) 2020-10-21 10:27:11 +03:00
pyos 5c55f67923 JVM_IR: generate shorter names for classes in delegate initializers
#KT-41493 Fixed
2020-10-20 21:14:44 +02:00
LepilkinaElena b786cf7559 [IR] Made signature nullable (#3860) 2020-10-20 21:13:40 +03:00
Alexander Udalov 6a9c72e77c IR: use one traversal instead of two for DeclarationContainerLoweringPass 2020-10-20 20:03:17 +02:00
Alexander Udalov b5695188f9 IR: remove FunctionLoweringPass, refactor usages to FileLoweringPass
FunctionLoweringPass didn't add much value over FileLoweringPass, but
had a hidden footgun (like ClassLoweringPass) in that if your lowering
pass invoked a visitor/transformer on the function body and you forgot
to override visitFunction to stop visiting nested functions,
runOnFilePostfix would work with the complexity of the squared number of
nesting levels. It looks like this was happening with K/N's
DataClassOperatorsLowering (I haven't measured though).
2020-10-20 20:03:14 +02:00
Alexander Udalov c110031935 IR: refactor DeclarationTransformer
Do not create extra DeclarationTransformer and FileLoweringPass
instances, instead inline all transformations to
DeclarationTransformer.lower.
2020-10-20 20:02:45 +02:00
Alexander Udalov 2be7afc7f9 IR: minor, give names to anonymous lowering visitors
To improve stacktraces and make the code a bit more readable.
2020-10-20 19:15:50 +02:00
Dmitry Petrov 3979cde738 Add box and PSI2IR tests for special cases listed in KT-35849 2020-10-20 19:31:40 +03:00
Ilya Goncharov efee322830 [Gradle, JS] Update Dukat on 0.5.8-rc.3 2020-10-20 16:12:38 +03:00
Victor Turansky 4d4aabab8d [JS BE] Make properties configurable when implementing an interface by delegation
#KT-42364 Fixed
2020-10-20 15:49:29 +03:00
Sergey Bogolepov 2ad13847d1 [KT-40670] Allow to override konan.properties from CLI 2020-10-20 17:00:00 +07:00
Alexander Shabalin cb66ae8d9e Fix tests in Cleaners (#4454) 2020-10-20 12:13:16 +03:00
Konstantin Tskhovrebov ea34a588f3 Update KMM project wizard. 2020-10-20 12:03:17 +03:00
Alexander Shabalin 705f509028 Remove unused Runtime suspend/resume (#4451) 2020-10-20 11:16:05 +03:00
Dmitry Petrov 47c784f023 JVM_IR fix Java wildcard types translation
Types such as 'Collection<? extends CharSequence>' are treated as
'(kotlin.collections.MutableCollection<out kotlin.CharSequence!>
  ..kotlin.collections.Collection<kotlin.CharSequence!>?)'
by the front-end.
When generating generic signatures, JVM BE takes lower bound (which is
'kotlin.collections.MutableCollection<out kotlin.CharSequence!>').
Emulate this behavior in TypeTranslator.
2020-10-19 20:52:53 +03:00
LepilkinaElena f6116477dd Started to eliminate expensive fqNames usages in IR (#4448) 2020-10-19 20:41:22 +03:00
zhelenskiy 19ed04e3fe Bad capitalization fixed 2020-10-19 16:16:56 +03:00
zhelenskiy ba08cbbb20 Other typos fixed 2020-10-19 16:16:56 +03:00
zhelenskiy 6e0aa007da Typos fixed 2020-10-19 16:16:56 +03:00
Ilya Goncharov 0367dec035 [Gradle, JS] Dukat change default mode onto source
- Binary only for legacy

^KT-42339 fixed
2020-10-19 16:14:27 +03:00
Konstantin Tskhovrebov 0ce6d694b7 Fix tests for as42. 2020-10-19 15:58:38 +03:00
Alexander Udalov 48cd86b717 Add JVM target bytecode version 15
#KT-41916 Fixed
2020-10-19 14:47:21 +02:00
Ilmir Usmanov 819d64a2ef Box inline class returned from suspend lambda non-locally in JVM_IR
#KT-41194 Fixed
2020-10-19 14:28:39 +02:00
Ilmir Usmanov 70a4ed3ebc Box inline class returned from suspend lambda non-locally
All inline classes should be boxed coming in and out of lambdas,
however, if the inline class was returned non-locally, it was not boxed.
This change fixes the issue in Old JVM BE.
 #KT-41194 In progress
2020-10-19 14:28:36 +02:00
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