Commit Graph

80204 Commits

Author SHA1 Message Date
Mikhail Glukhikh ce1f9882df FIR2IR: Fix mapping for intersection overrides of deserialized functions 2021-01-27 15:42:04 +03:00
Svyatoslav Kuzmich 4bde884844 [JS IR] Use non-persistent IR for non-dce-driven mode
Eliminate overhead of persistency that we don't use in this mode.
2021-01-27 14:58:33 +03:00
Svyatoslav Kuzmich 02615ec569 [JS IR] Fix: Use proper parameter in ExportedDefaultParameterStub 2021-01-27 14:57:42 +03:00
Roman Golyshev 75ed167566 FIR IDE: Use FirModuleResolveState instead of TowerDataContextProvider
This way we will have a single place to get information about scopes,
so in the future it would be easier to refactor it
2021-01-27 08:02:53 +00:00
Roman Golyshev dd91ebf1ea FIR IDE: Collect TowerDataContext only for block-level expressions
This makes finding right context easier later in situations like this:

```
fun test() {
  foo.bar.bazz()
}
```

Context is written for `bazz()` element, but we might want to find it
from `foo.bar.bazz()` element
2021-01-27 08:02:52 +00:00
Roman Golyshev b51b8b59b1 FIR IDE: Collect scopes in FirDesignatedImplicitTypesTransformerForIDE
We need this to capture scopes for properties
with initializers (like `val a = 10`)
2021-01-27 08:02:52 +00:00
Roman Golyshev 445edf8e28 FIR IDE: Mark FirTowerDataContextCollector as ThreadSafeMutableState
Also, use HashMap instead of LinkedHashMap
in `FirTowerDataContextCollector`
2021-01-27 08:02:51 +00:00
Roman Golyshev 11564d7950 FIR: Collect all scopes in FirModuleResolveStateImpl
We need to collect the scopes to later use them in reference shortening

Probably we will need to optimize this behaviour later, since it seems
inefficient
2021-01-27 08:02:50 +00:00
Roman Artemev 8bc7866f01 [KLIB] Fix klib IO when accessing parent file 2021-01-27 09:48:57 +03:00
Roman Artemev 6118d1cf23 [Commonizer] Fix commonizer build 2021-01-26 19:23:25 +03:00
Roman Artemev b0adcffed9 [JS IR] Fix transitive dependency resolve 2021-01-26 19:23:25 +03:00
Roman Artemev 75016bf54d [Gradle, JS] Fix bridge between Gradle and Js IR CLI 2021-01-26 19:23:25 +03:00
Roman Artemev 350ff8033d [IC KLIB] Replace JS IR build log with KLIB build log for klib compialtion
- fix test data
2021-01-26 19:23:25 +03:00
Roman Artemev 5c25ef62e2 [JVM IR] Fix jvm test runner 2021-01-26 19:23:25 +03:00
Roman Artemev b4ed7110dd [IC TEST] Fix IC multi module tests for gradle 2021-01-26 19:23:24 +03:00
Roman Artemev 04777d2ff2 [IC TEST] Generate legacy js multi module IC tests 2021-01-26 19:23:24 +03:00
Roman Artemev 898c0470dc [IC TEST] Implement legacy js multi module gradle-like test infra 2021-01-26 19:23:24 +03:00
Roman Artemev 43022a292d [IC TEST] Abstract multi module test runner from klib 2021-01-26 19:23:24 +03:00
Roman Artemev 5b1c70a430 [KLIB IC] Generate multi module klib IC tests 2021-01-26 19:23:24 +03:00
Roman Artemev 10d8e95df7 [IC TEST] Support multi module IC tests for klibs
- implement required infrastructure
 - pass changed class path dependencies
2021-01-26 19:23:24 +03:00
Roman Artemev 9aeda12b99 [KLIB IC] Produce .klib file instead of directory in test
- disable sourcemaps
 - clean up comment
2021-01-26 19:23:24 +03:00
Roman Artemev 37c7f60ae7 [KLIB] Fix issues between directory and .klib modes
- use .klib extension explicitly
 - fix issue with `module.klib.klib` names
2021-01-26 19:23:23 +03:00
Roman Artemev 939da9dbc8 [KLIB] Take into account *.klib rebuild similar to *.jar
Fix multi-module incremental compilation. Fix allows to trigger klib
rebuild when dependency changed.
2021-01-26 19:23:23 +03:00
Roman Artemev daf1da1c70 [KLIB IC] Fix klib IC test data
Since neither inline function nor super classes affect klib there is no
need for extra passes so compiler doesn't report any dirty files.
Do not check that.
2021-01-26 19:23:23 +03:00
Roman Artemev 380225e0cb [KLIB IC] Support special klib-build.log in IC test infrastructure 2021-01-26 19:23:23 +03:00
Roman Artemev 96ba3b873e [IC] Add in-module tests for incremental compilation
Two tests to check recompilation when parameter with default value was
added or removed without changing use-site.
2021-01-26 19:23:23 +03:00
Roman Artemev 697d4675a2 [KLIB] Improve klib debugging implementing KotlinLibrary.toString() 2021-01-26 19:23:23 +03:00
Roman Artemev 2daf0cc11c [JS IR] Support additional repositories in CLI (cli part) 2021-01-26 19:23:22 +03:00
Roman Artemev cd9e341fa9 [JS IR] Support additional repositories in CLI (compiler part) 2021-01-26 19:23:22 +03:00
Simon Ogorodnik e22711d17f [FIR] Reuse empty scopes 2021-01-26 18:33:57 +03:00
Simon Ogorodnik 67267518f0 [FIR] Optimize tower group comparisons
Fix incorrect used bits calculation

bits debug

Disable tower group debugging

Extend comment

Proper to binary string
2021-01-26 18:33:57 +03:00
Simon Ogorodnik 4530cdefe5 [FIR] Implement proper equals/hashCode for TowerGroupKind.WithDepth 2021-01-26 18:33:57 +03:00
Nikolay Krasko d4fd8b14a6 [MERGE] KT: build-1.5.0-dev-1963 KT/N: 52fe74ede OLD: ece5d9b10 2021-01-26 17:38:13 +03:00
Vasily Levchenko e9501e82cc [kotlin compiler][update] 1.5.0-dev-1963
* 293f2f9950 - (HEAD -> master, tag: build-1.5.0-dev-1963, origin/push/nk/all, origin/master, origin/HEAD) Build: Replace Bintray with Space for kotlin-dependencies repository (KTI-466) (vor 20 Stunden) <Nikolay Krasko>
* eed0f50c5d - (tag: build-1.5.0-dev-1955) Code cleanup: ConeAttributes (vor 2 Tagen) <Mikhail Glukhikh>
* 94e613dd01 - FIR: support custom annotation-based type attributes (vor 2 Tagen) <Mikhail Glukhikh>
* 4cd6266bce - FIR: fix suspend type serialization (vor 2 Tagen) <Mikhail Glukhikh>
* afe335e504 - FIR: serialize ExtensionFunctionType attribute (vor 2 Tagen) <Mikhail Glukhikh>
* 9e5c9efadf - FIR2IR: don't generate IrGetObject for anonymous objects (vor 2 Tagen) <Mikhail Glukhikh>
* 06ee768c6a - FIR: in case of smart cast, use original type for FirThisRcvrExpression (vor 2 Tagen) <Mikhail Glukhikh>
* 4fd4f504d0 - FIR: make componentX functions operator (vor 3 Tagen) <Mikhail Glukhikh>
* 7934853c8e - Set ABI stability to JVM modules which are built with FIR (vor 3 Tagen) <Mikhail Glukhikh>
* 4a76ea6ecb - (tag: build-1.5.0-dev-1927) JVM: regenerate objects if they have been regenerated in parent contexts (vor 3 Tagen) <pyos>
* ef36b81c67 - (tag: build-1.5.0-dev-1924) [JVM_IR] Reduce the amount of `super` suffixes on accesibility bridges. (vor 3 Tagen) <Mads Ager>
* a33877a9b9 - (tag: build-1.5.0-dev-1914) Fix add import quick fix for unresolved conventional invoke operator (vor 3 Tagen) <Mikhail Zarechenskiy>
* d2ce73853d - Report more specific diagnostic for variable + invoke calls (vor 3 Tagen) <Mikhail Zarechenskiy>
* c423750962 - (tag: build-1.5.0-dev-1913) [TD] Fix incorrect module structure directives in test data file (vor 3 Tagen) <Dmitriy Novozhilov>
* 0d058c7c8c - [Test] Allow parse FILE and MODULE directives with other strings between them in old tests (vor 3 Tagen) <Dmitriy Novozhilov>
* b9e9620ab5 - [TD] Unmute passing Fir2Ir text test (vor 3 Tagen) <Dmitriy Novozhilov>
* 842ed624a7 - [TD] Remove some outdated dumps in FIR_IDENTICAL tests (vor 3 Tagen) <Dmitriy Novozhilov>
* 77115cea92 - [TD] Union ir dumps of different test files (vor 3 Tagen) <Dmitriy Novozhilov>
* 4752924b13 - [TD] Update FQN's in testdata of IR text tests (vor 3 Tagen) <Dmitriy Novozhilov>
* 8286a160bd - [TD] Update order of directives (vor 3 Tagen) <Dmitriy Novozhilov>
* bdcb8aecab - [Test] Migrate AbstractFir2IrTextTest to new infrastructure (vor 3 Tagen) <Dmitriy Novozhilov>
* aba029237d - [Test] Add handler for comparing pretty kt ir dumps (vor 3 Tagen) <Dmitriy Novozhilov>
* 87ffbd8206 - [IR] Collect all dependencies of module recursively (vor 3 Tagen) <Dmitriy Novozhilov>
* aaa3fa5845 - [Test] Migrate IrTextTestGenerated to new infrastructure (vor 3 Tagen) <Dmitriy Novozhilov>
* 5ae5f660f6 - [Test] Add ability to explicitly declare default binary kind for test (vor 3 Tagen) <Dmitriy Novozhilov>
* a2ae618185 - [Test] Introduce IGNORE_ERRORS diagnostic to suppressing backend errors (vor 3 Tagen) <Dmitriy Novozhilov>
* acb6d2e196 - [Test] Allow facades to return null which indicates that facade can't complete it's job (vor 3 Tagen) <Dmitriy Novozhilov>
* 6a7cd0c811 - [Test] Add ability to specify applicability of diagnostic to module or file (vor 3 Tagen) <Dmitriy Novozhilov>
* 28cff22cd0 - [Test] Add ability to specify directive for test file (vor 3 Tagen) <Dmitriy Novozhilov>
* e17153fab9 - (tag: build-1896, tag: build-1.5.0-dev-1901) Minor, improve Ant test on includeRuntime (vor 4 Tagen) <Alexander Udalov>
* a13eb4c8e6 - Ant task: do not include runtime by default if destination is a jar (vor 4 Tagen) <scaventz>
* b0b7f39c75 - (tag: build-1893) FIR: Do not use return statement for type of a block expression (vor 4 Tagen) <Denis.Zharkov>
* 4dc2653736 - FIR: Do not complete finally parts of try-finally (vor 4 Tagen) <Denis.Zharkov>
* 7df4f67f7c - FIR: Minor. Drop unused parameter (vor 4 Tagen) <Denis.Zharkov>
* 9493e68584 - FIR: Do not run completion for lambda's explicit return too early (vor 4 Tagen) <Denis.Zharkov>
* 5afebb4e78 - FIR: Transform synthetic calls children even without incomplete candidate (vor 4 Tagen) <Denis.Zharkov>
* 5f0d00a83f - FIR: Use proper tower data contexts for postponed callable references (vor 4 Tagen) <Denis.Zharkov>
* ad30c6c380 - FIR: Fix callable references resolution when they're being returned from lambdas (vor 4 Tagen) <Denis.Zharkov>
* 0e368cc237 - FIR: Analyze return statements for implicit lambda with independent context (vor 4 Tagen) <Denis.Zharkov>
* 5e83e10a72 - FIR: Add callable references nodes to CFG (vor 4 Tagen) <Denis.Zharkov>
* 6dc0440cd0 - (tag: build-1.5.0-dev-1889) Remove commented code in previous commit (vor 4 Tagen) <Alexander Dudinsky>
* 71e74497b5 - (tag: build-1.5.0-dev-1888) Use `addTestJdk`&`removeTestJdk` methods instead `addJdk`&`removeJdk` (vor 4 Tagen) <Alexander Dudinsky>
* 20843b6894 - (tag: build-1.5.0-dev-1887) Remove error suppression in KotlinChangeSignatureDialog (vor 4 Tagen) <Mikhail Glukhikh>
* 628d6a9c30 - (tag: build-1.5.0-dev-1880) Don't store logger in instance field (vor 4 Tagen) <Pavel Kirpichenkov>
* 5003738d29 - Fix: use idea caches correctly (vor 4 Tagen) <Pavel Kirpichenkov>
* 87c6b6bffc - (tag: build-1.5.0-dev-1878) Revert "Set canBeConsumed = false on the deprecated configurations like compile" (vor 4 Tagen) <Sergey Igushkin>
* 2e660ef62a - (tag: build-1.5.0-dev-1875) Raw FIR: use lambda parameter type if available (vor 4 Tagen) <Jinseong Jeon>
* fa0b933bc8 - FIR checker: add diagnostics for missing/ambiguous component calls (vor 4 Tagen) <Jinseong Jeon>
* 83b9c29495 - FIR checker: relocate sealed class ctor call checker (vor 4 Tagen) <Jinseong Jeon>
* 5f0eb8a401 - FIR checker: minor cleanups (vor 4 Tagen) <Jinseong Jeon>
* be29b6d64d - FIR checker: use aliased checker when possible (part 2) (vor 4 Tagen) <Jinseong Jeon>
* de592f4f67 - FIR checker: introduce FunctionChecker alias (vor 4 Tagen) <Jinseong Jeon>
* 40bec30393 - FIR: implement LT positioning in diagnostic tests, fix LT strategies (vor 4 Tagen) <Mikhail Glukhikh>
* f1d8a6e5d1 - FIR checker: introduce DECLARATION_SIGNATURE_OR_DEFAULT positioning strategy (vor 4 Tagen) <Jinseong Jeon>
* 2e4daee1d4 - (tag: build-1.5.0-dev-1874) [FIR] Fix invalid diagnostic fir node sites and improved invalid type parameters count diagnostic report (vor 4 Tagen) <Igor Yakovlev>
* b7d3469819 - [FIR] Remove transform/accept from FirResolvedTypeRef.delegateTypeRef (vor 4 Tagen) <Simon Ogorodnik>
* 243f85a4d6 - [FIR IDE] Add base support for FIR incomplete types resolve (vor 4 Tagen) <Igor Yakovlev>
* 704366e531 - (tag: build-1.5.0-dev-1869) JVM: Mark suspend lambda receiver as used if callable reference (vor 4 Tagen) <Ilmir Usmanov>
* de00f72fa3 - (tag: build-1.5.0-dev-1863) Generate linenumber for inline call site in case of implicit iterator/hasNext/next calls in for loop (vor 4 Tagen) <Mikhael Bogdanov>
* dfacccf84f - (tag: build-1.5.0-dev-1862) Set canBeConsumed = false on the deprecated configurations like compile (vor 4 Tagen) <Sergey Igushkin>
* 6e913e16ad - Add integration tests for Kapt + Android Gradle plugin 7.0 (vor 4 Tagen) <Sergey Igushkin>
* 341b87fad0 - Use `implementation` instead of `compile` in GradleIT, fix versions (vor 4 Tagen) <Sergey Igushkin>
* 17b71555e0 - KT-43944: Don't access Android test source sets' API configurations (vor 4 Tagen) <Sergey Igushkin>
* 77ffc318f2 - (tag: build-1.5.0-dev-1860) KT-44250 [Sealed interfaces]: completion fails for 'when' with sealed (vor 4 Tagen) <Andrei Klunnyi>
* 14108011ee - (tag: build-1.5.0-dev-1853) [FIR] Fix inferring arguments of bare types in different situations (vor 4 Tagen) <Dmitriy Novozhilov>
* b99f1a1512 - (tag: build-1.5.0-dev-1847) FIR checker: error messages for function diagnostics (vor 4 Tagen) <Jinseong Jeon>
* 021395ce39 - FIR checker: error message for destructuring declaration diagnostic (vor 4 Tagen) <Jinseong Jeon>
* 35093e0958 - FIR checker: error messages for properties/accessors diagnostics (vor 4 Tagen) <Jinseong Jeon>
* 952576e98f - (tag: build-1.5.0-dev-1837) JVM_IR: Do not unbox Result parameter if it not only one inline class (vor 5 Tagen) <Ilmir Usmanov>
* d48f92775b - JVM_IR: Do not unbox Result parameter in invoke if there is a bridge (vor 5 Tagen) <Ilmir Usmanov>
* 0ddb603eaa - (tag: build-1.5.0-dev-1836) [JS IR] Fix of test with method in abstract class calling extension on super type (vor 5 Tagen) <Ilya Goncharov>
* 9c4f8f7e54 - (tag: build-1.5.0-dev-1835) JVM IR: Fix signature mapping for inline classes using new mangling (vor 5 Tagen) <Steven Schäfer>
* 91717cdcdd - (tag: build-1.5.0-dev-1822) Perform inline checks in IR tests (vor 5 Tagen) <Mikhael Bogdanov>
* 216b775095 - Remove obsolete code (vor 5 Tagen) <Mikhael Bogdanov>
* 147d60523d - Generate inline function arguments with parameters types (vor 5 Tagen) <Mikhael Bogdanov>
* 50ab9ed054 - [JS IR] Add test on interface with default method calling extension method on super-interface (vor 5 Tagen) <Ilya Goncharov>
* 5c28762c02 - (tag: build-1.5.0-dev-1765, tag: build-1.5.0-dev-1760) Fix check for local classes in approximating string table (vor 5 Tagen) <Pavel Kirpichenkov>
* b66f5c8180 - Drop type aliases for JS and KLIB string tables (vor 5 Tagen) <Pavel Kirpichenkov>
* 2f3f75b512 - Fix local anonymous class name error in K2MetadataCompiler (vor 5 Tagen) <Pavel Kirpichenkov>
* b82a44fa63 - Add test for KT-20996 (vor 5 Tagen) <Pavel Kirpichenkov>
* cce9469e6a - (tag: build-1.5.0-dev-1753) JVM_IR: Do not unbox Result parameter in Result methods (vor 5 Tagen) <Ilmir Usmanov>
* 10d9259df5 - (tag: build-1.5.0-dev-1738) Returned support for nullable types by not null serializers (vor 6 Tagen) <Sergey Shanshin>
* b476f1cc3e - (tag: build-1.5.0-dev-1727) Minor. Change test to use the feature instead of suppressing error (vor 6 Tagen) <Ilmir Usmanov>
* d1ee45b518 - Add language feature for suspend functions in fun interfaces (vor 6 Tagen) <Ilmir Usmanov>
* 6aa6f82c47 - (tag: build-1.5.0-dev-1723) Fix MultiplatformModelImportingContextImpl#isOrphanSourceSet predicate (vor 6 Tagen) <Yaroslav Chernyshev>
* cf228bebc3 - (tag: build-1.5.0-dev-1722) Use static year range in copyright of generated FIR and tests (vor 6 Tagen) <Svyatoslav Kuzmich>
* ba8223218f - [Wasm] Add inline property accessors optimization (vor 6 Tagen) <Svyatoslav Kuzmich>
* 2aa3c197a3 - [Wasm] Use non-persistent IR to speed up tests (vor 6 Tagen) <Svyatoslav Kuzmich>
* 11a3126c8c - (tag: build-1.5.0-dev-1719) FIR: copy class supertypes list on iterating while calculating supertypes (vor 6 Tagen) <Ilya Kirillov>
* a0ad85e20d - (tag: build-1.5.0-dev-1716, origin/rr/4u7/wip) Build: Disable caching of test tasks (vor 6 Tagen) <Vyacheslav Gerasimov>
* 284d42fd2b - (tag: build-1.5.0-dev-1710) Use camelCase for cacheKind control property (vor 6 Tagen) <Sergey Bogolepov>
* 29f95c7df2 - (tag: build-1.5.0-dev-1690) FIR: improve inference of implicit type arguments in casts (vor 7 Tagen) <pyos>
* acdc1f532b - (tag: build-1.5.0-dev-1682) Rewrite CommonizerTask params to fix ^KT-42098 (vor 7 Tagen) <sebastian.sellmair>
* 23332bac13 - (tag: build-1.5.0-dev-1665) More precise message for "this test can be unmuted" (vor 7 Tagen) <Shagen Ogandzhanian>
* 6331a135c8 - (tag: build-1.5.0-dev-1662) Add LightClassUtil.getLightClassMethodsByName to avoid resolving all lightClassMethods and filtration later on (vor 7 Tagen) <Vladimir Dolzhenko>
* 167bfcf6ea - (tag: build-1.5.0-dev-1658) Minor. Remove accidentally added bunch file (vor 7 Tagen) <Ilmir Usmanov>
* bf5feb1b4a - (tag: build-1.5.0-dev-1657) Remove KotlinMetadataTarget's KotlinTargetComponent in favour of KotlinSoftwareComponent.kt ^KT-44322 fixed (vor 7 Tagen) <Sebastian Sellmair>
* 9a5791ad6d - (tag: build-1.5.0-dev-1654) FIR: use correct context for enum entry resolve (vor 7 Tagen) <Mikhail Glukhikh>
* f85fc47383 - FIR: introduce separate companion object resolve context (vor 7 Tagen) <Mikhail Glukhikh>
* f282c3e547 - Cleanup: FirTowerResolveTask (vor 7 Tagen) <Mikhail Glukhikh>
* 9f06c1a500 - FIR cleanup: runResolverForDelegatingConstructor (vor 7 Tagen) <Mikhail Glukhikh>
* 6cee4e968e - [FIR] Don't call componentX for anonymous destructuring entry (vor 7 Tagen) <Mikhail Glukhikh>
* 795bd26eaf - FIR bootstrap: don't use -Werror in useFIR mode (vor 7 Tagen) <Mikhail Glukhikh>
* 3787018e40 - [FIR] Fix parameter index storage in contract serializer (vor 7 Tagen) <Mikhail Glukhikh>
* 12caf5d743 - Fix test BE JvmBoxRunner to be able to see FIR BB tests exceptions (vor 7 Tagen) <Mikhail Glukhikh>
2021-01-26 17:38:03 +03:00
Alexander Shabalin b06a870011 Trust mimalloc to be thread safe (#4649) 2021-01-26 17:38:03 +03:00
Alexander Shabalin d633b1c545 Mark safe points in code generator (#4640) 2021-01-26 17:38:03 +03:00
Dmitriy Dolovov 9e62134ea0 1.4.30-RC changelog 2021-01-26 17:38:03 +03:00
Alexander Shabalin 687cf20d7d Deal with FrameOverlay in the new mm (#4646) 2021-01-26 17:38:03 +03:00
Alexander Shabalin 77e2b9f9a0 Disable running checkers by default (#4644)
* Make checkers be disabled by default

* Allow running checkers in test launcher
2021-01-26 17:38:03 +03:00
LepilkinaElena 71f44dce0f Added StringTrimLowering to pipeline (#4647) 2021-01-26 17:38:02 +03:00
Pavel Punegov 73297a4ef3 Remove obsolete comments in the test 2021-01-26 17:38:02 +03:00
Pavel Punegov 6cc74a1b66 Better fix for the test: check for NUSInteger size 2021-01-26 17:38:02 +03:00
Pavel Punegov 9807a92fa7 Fix Unsigned long type encoding according to the ObjC encode rules 2021-01-26 17:38:02 +03:00
Pavel Punegov b565562a1f Fix architecture check in the test 2021-01-26 17:38:02 +03:00
Pavel Punegov e241d1249c Fix NSUInteger size for Watchos x64 2021-01-26 17:38:02 +03:00
Alexander Shabalin 6cc60ad6a2 Support sanitizers in runtime tests (#4622) 2021-01-26 17:38:02 +03:00
Sergey Bogolepov 3ee8d98726 Mention new per-target cache setting in error message. 2021-01-26 17:38:02 +03:00
Ying Li 26248bb9b1 fix minor typo (#4629)
* fix minor typo
* fix sample code format
2021-01-26 17:38:02 +03:00
SaintMalik e8804dc53d Fix broken url in docs
## Summary

Easy navigation and easy reading for others
2021-01-26 17:38:02 +03:00
LepilkinaElena a403b9ff05 Support for stable and unstable benchmarks. Refactoring to get separate tables for metrics. (#4641) 2021-01-26 17:38:02 +03:00