Commit Graph

83251 Commits

Author SHA1 Message Date
Ivan Kochurkin ce4e60afd3 [FIR] Simplify FirCyclicTypeBoundsChecker and replace PersistentList with MutableList 2021-06-17 13:49:07 +03:00
Ivan Kochurkin 1e430b7b03 [FIR] Replace PersistentList with MutableList in Context, simplify DeclarationConverter 2021-06-17 13:49:07 +03:00
Ivan Kochurkin 366017d267 [FIR] Replace PersistentList with MutableList in BodyResolveContext, LocalClassesNavigation 2021-06-17 13:49:06 +03:00
Andrey Zinovyev d360932ebc [FIR] Fill overriddenSymbols for fake overridden IrProperty 2021-06-17 13:24:12 +03:00
Sergey Bogolepov 4f98a0e083 [Native] Introduce optInCacheableTargets
Create an explicit list of targets that have unstable compiler caches
in konan.properties. It allows to control all lists of cacheable targets
in a single place.
2021-06-17 09:19:44 +00:00
Roman Golyshev 108dd37242 Add possibility to use baseDir in CoroutineHelpersSourceFilesProvider 2021-06-17 02:41:32 +03:00
Nikita Nazarov adec873118 [EE_IR] Update ignore directive 2021-06-17 02:40:04 +03:00
Alexander Shabalin e3eec33b24 Add aggressively allocating stress test for GC 2021-06-16 21:34:05 +00:00
Alexander Shabalin 7ae59856cb Add internal MemoryUsageInfo object
Currently it only provides peak RSS usage for iOS, Linux, macOS and Windows.
2021-06-16 21:34:04 +00:00
Nikita Bobko 670d66984f Reduce Gradle configuration phase time in case when 'attachedIntellijVersion' flag is specified
Traversing intellij repo is long
2021-06-16 21:58:36 +03:00
Nikita Bobko 526a664077 [imltogradle] Add a bit of logging 2021-06-16 21:58:36 +03:00
Nikita Bobko c954fa4900 Make it possible to attach community version of kotlin-ide 2021-06-16 21:58:34 +03:00
Roman Artemev 8ac5d03f02 [Test] fix module name in klib text tests
It failed on windows machines due to illegal '<' in path
2021-06-16 21:16:58 +03:00
Roman Artemev 56604a9654 [K/N] Promote kotlin-build-gradle-plugin version 0.0.29 -> 0.0.30
Missed fix
2021-06-16 21:16:57 +03:00
Roman Artemev 2c34888a57 [TEST] Add comment in klib text tests runner 2021-06-16 21:16:56 +03:00
Roman Artemev 71af11052a [TEST] Mute tests irText klib tests 2021-06-16 21:16:55 +03:00
Roman Artemev e82552975d [TEST] support test muting in klib text tests runner 2021-06-16 21:16:54 +03:00
Roman Artemev 5bc884ce2b [KLIB] Fix fakeoverride builder
Set proper visibility in case of cross-module internal overrides.
TODO: KT-47192
2021-06-16 21:16:53 +03:00
Roman Artemev 0cb23a6e65 [KLIB] Fix serialization of loops with control statements in condition 2021-06-16 21:16:52 +03:00
Roman Artemev e5c6a5b80d [IR] Clean up Fake Override builder a bit 2021-06-16 21:16:51 +03:00
Roman Artemev 1831c0a14b [IR] Support disabling of rendering IrErrorType inner KotlinType 2021-06-16 21:16:50 +03:00
Roman Artemev 2eac442705 [IR] Support stable order in IR dump
That mode is need to test deserialization of klibs
2021-06-16 21:16:49 +03:00
Roman Artemev bbcd511c44 [TEST] fix irText testData
- support DELEGATED_MEMBER overrides
2021-06-16 21:16:48 +03:00
Roman Artemev cb130181a2 [Psi2Ir] Fix overridden symbols of Delegated Properties 2021-06-16 21:16:47 +03:00
Roman Artemev 32bbc3b8ad [KLIB] Fix SimpleTypeKey in case of type abbreviation 2021-06-16 21:16:46 +03:00
Roman Artemev 2f772c7a7c [KLIB] Add IrStatementOrigin into IrConstructorCall message 2021-06-16 21:16:45 +03:00
Roman Artemev 16ea3d9ae9 [TEST] Add IrText klib tests 2021-06-16 21:16:44 +03:00
Roman Artemev 14c91ca0de [TEST] Set proper TARGET_BACKEND for jvm-specific irText tests 2021-06-16 21:16:43 +03:00
Roman Golyshev b587b71b0f FIR IDE: Move KtDeclarationAndFirDeclarationEqualityChecker.kt to nested api package 2021-06-16 15:38:57 +00:00
Roman Golyshev c42fec5c93 FIR IDE: Refactor findSourceFirCompiledDeclaration
Add `FirDeclarationForCompiledElementSearcher` class to encapsulate
searching by the compiled declarations, move it to the separate file
2021-06-16 15:38:56 +00:00
Roman Golyshev b0bac90a8b FIR IDE: Make findNonLocalDeclarationForCompiledElement a member of FirModuleResolveState 2021-06-16 15:38:56 +00:00
Roman Golyshev e1f985424f FIR IDE: Move KtDeclarationAndFirDeclarationEqualityChecker to api package 2021-06-16 15:38:55 +00:00
Roman Golyshev ad34c19f9a FIR IDE: Add explicit assertion that module info is ModuleSourceInfo 2021-06-16 15:38:54 +00:00
Roman Golyshev 44f74888e0 FIR IDE: Add tests for resolving compiled declarations
Also, use correct index to find source for properties in
`FirIdeDeserializedDeclarationSourceProvider` - this bug
was revealed by the tests
2021-06-16 15:38:53 +00:00
Roman Golyshev 0fe068c6ce FIR IDE: Find FIR declarations for compiled PSI elements separately
When PSI declaration comes from the library with classfiles,
its `moduleInfo` is represented by `LibrarySourceInfo` class.
In this case we have to resort to other ways of looking for
corresponding FIR declaration

It is easy to do for classes (by `classId`) and for the properties
(by `classId` of the containing class and property's name)

It is harder for callables, so we use
`KtDeclarationAndFirDeclarationEqualityChecker` to do that
2021-06-16 15:38:52 +00:00
Roman Golyshev be51738483 FIR IDE: Move KtDeclarationAndFirDeclarationEqualityChecker to idea-fir-low-level-api module
It will be required to compare PSI and FIR declarations
for compiled PSI elements
2021-06-16 15:38:51 +00:00
Roman Golyshev 66047f159f FIR IDE: Resolve declaration in withFirDeclaration only if needed 2021-06-16 15:38:51 +00:00
Roman Golyshev 9e4c5eed5f FIR IDE: Make ModuleLibrariesSearchScope work only on .class sources
If this scope will accepts sources, then it will cause problems later
(when we will get libraries' sources from indices and will try to
resolve them to FIR declaration)
2021-06-16 15:38:50 +00:00
Igor Chevdar caa852061a [box-tests] Ignored a test for K/N
More info in https://youtrack.jetbrains.com/issue/KT-44571
2021-06-16 17:25:07 +05:00
Abduqodiri Qurbonzoda 59031543e2 Throw on invalid AbstractMutableList.addAll index #KT-47211 2021-06-16 11:59:46 +00:00
Nikita Nazarov 7e44cddbab Introduce the fragment compiler backend to the debugger infrastructure 2021-06-16 13:58:18 +03:00
pyos aa47191de4 JVM: hide ExpressionCodegen in finally block generation during inlining 2021-06-16 12:13:32 +02:00
pyos 108bd01698 JVM: refine the stack spilling around inline calls
Not all suspend functions need it - only those with suspension points.
2021-06-16 12:13:32 +02:00
pyos b136acb185 JVM: move callSiteFile to InlineCallSiteInfo 2021-06-16 12:13:32 +02:00
pyos 6c1a5e1211 JVM: make inline function argument processing a bit shorter 2021-06-16 12:13:32 +02:00
pyos 392e4fba42 JVM: fix inlining of default lambdas of signature (Result) -> Any
They have no `invoke` bridge, and the overridden invoke expectes a boxed
`Result` as an argument.
2021-06-16 12:13:32 +02:00
pyos a0a14d9e25 JVM: remove descriptors from SourceCompilerForInline
Printing the call site source on errors isn't really useful anyway - the
old backend points to a specific PsiElement, and JVM_IR wraps the
exception in FunctionCodegen (and printing the source never worked with
JVM_IR anyway).
2021-06-16 12:13:32 +02:00
pyos 32ad747632 JVM: load default lambda method nodes immediately
The ones that are not needed are filtered out before DefaultLambda is
even constructed anyway, and this way we need fewer lateinit vars.
2021-06-16 12:13:32 +02:00
pyos 1e953eaf01 JVM: remove contextKind from SourceCompilerForInline
Guess what? It's only useful for the old backend's type mapper!
2021-06-16 12:13:32 +02:00
pyos 1109348b6d JVM: remove lookupLocation from SourceCompilerForInline 2021-06-16 12:13:32 +02:00