Dmitriy Dolovov
da72f26d94
[IR][Tests] Unmute NativeIrLinkerIssuesIT (as far as K/N version is already updated)
...
^KT-44626
2021-08-17 07:53:47 +00:00
Dmitriy Dolovov
e18c3517a9
[Gradle] Advance K/N version to 1.6.0-dev-2972
2021-08-17 07:53:46 +00:00
Dmitriy Dolovov
cd08dc49a0
[IR][Tests] Mute NativeIrLinkerIssuesIT until K/N version is updated
...
^KT-44626
2021-08-17 07:53:46 +00:00
Dmitriy Dolovov
4edc1239ac
[IR] Use only ASCII-printable chars in IR linker error reports
...
^KT-44626
2021-08-17 07:53:46 +00:00
Dmitriy Dolovov
af12d61388
[IR] Enhance error reporting for IR linking issues
...
^KT-44626
Support correct error reporting both with native static caches and without native static caches.
2021-08-17 07:53:45 +00:00
Dmitriy Dolovov
3cd43dced4
[IR] Fix tests for IR linking error reporting
...
- Run "ktor 1_5_4 and coroutines 1_5_0-RC-native-mt (KT-46697)" test only on Mac host
- Fix application entry point function FQN
- Use OS-neutral URI for configuration of local Maven repos instead of OS-specific path
^KT-44626
2021-08-17 07:53:45 +00:00
Andrey Zinovyev
a17a61341b
[FIR] Fix false positive NON_INTERNAL_PUBLISHED_API on constructor val
...
#KT-48234 Fixed
2021-08-16 19:12:31 +03:00
Tianyu Geng
68f14fdd87
FIR: PrimitiveTypes -> StandardTypes
2021-08-16 16:54:33 +03:00
Tianyu Geng
5a26e79b08
FIR checker: move JAVA_TYPE_MISMATCH to FirJvmErrors
2021-08-16 16:54:32 +03:00
Tianyu Geng
b77dc4136b
FIR checker: fix JAVA_TYPE_MISMATCH again
2021-08-16 16:54:22 +03:00
Tianyu Geng
64ebddcbc6
FIR checker: add convention check for ++ and +=, etc
2021-08-16 15:14:30 +03:00
sebastian.sellmair
68e7476765
[Commonizer] ClassSuperTypeCommonizer: Don't find consumed TypeNodes
...
This commit will also add some simple documentation
to this class and its implementation.
^KT-47430
2021-08-16 10:44:04 +00:00
sebastian.sellmair
1e95717b8d
[Commonizer] Implement SimpleCirSupertypesResolverTest
...
^KT-47430
2021-08-16 10:44:03 +00:00
sebastian.sellmair
f64a0efa8b
[Commonizer] Respect artificial supertypes when loading dependencies
...
CirProvided.ExportedForwardDeclarationClass will now correctly
report artificial superclasses.
The InlineTypeAliasCirNodeTransformer does not need to know anything
about artificial supertypes anymore. When inlining any
type alias, it is enough to resolve the type-alias's expansions
supertypes.
^KT-47430
2021-08-16 10:44:03 +00:00
sebastian.sellmair
26ede5d885
[Commonizer] Add small documentation on CirSupertypesResolver
...
^KT-47430
2021-08-16 10:44:03 +00:00
sebastian.sellmair
9fb41b6334
[Commonizer] CirKnownClassifiers: Store indices and target dependencies as 'TargetDependent'
...
^KT-47430
2021-08-16 10:44:02 +00:00
sebastian.sellmair
367db345a8
[Commonizer] Do not re-calculate classifier indices for transformer
...
^KT-47430
2021-08-16 10:44:02 +00:00
sebastian.sellmair
dda9bb93f6
[Commonizer] Consider exportForwardDeclarations as dependency
...
This will make follow-up commits easier:
forward declarations are closer to dependencies than being part
of the library. They will be used in the module, bot not
directly provided.
This commit also enables tracking of provided dependency classifiers
in the CirTreeRoot and CirRootNode
^KT-47430
2021-08-16 10:44:01 +00:00
sebastian.sellmair
3d4e861f05
[Commonizer] ModulesProvider: refactor 'loadModuleInfos()' to property
...
This is done to signal that accessing this data is indeed lightweight.
^KT-47430
2021-08-16 10:44:01 +00:00
sebastian.sellmair
6c246738a5
[Commonizer] TargetDependent: Support index based access
...
^KT-47430
2021-08-16 10:44:01 +00:00
sebastian.sellmair
dff392f2cd
[Commonizer] ClassSuperTypeCommonizer: Include transitive supertypes
...
This commit still has some left-over todos that shall be done
in a separate commit.
TODOs:
- CirClassifierIndex is calculated once too often
- Reconsider position of classifierIndices in 'CirKnownClassifiers'
- Add documentation/description to complicated 'ClassSuperTypeCommonizer'
- Add documentation/description to CirSupertypesResolver
^KT-47430 Verification Pending
2021-08-16 10:44:00 +00:00
sebastian.sellmair
1857096071
[Commonizer] Implement ClassSuperTypeCommonizer
...
This implementation runs as regular part of the commonization.
Previous implementation inside the CommonizationVisitor was fully
replaced by it.
As a side effect: CirClass.supertypes was now marked immutable.
^KT-47430 In Progress
2021-08-16 10:44:00 +00:00
sebastian.sellmair
50a343f91e
[Commonizer] Deserialize supertypes from provided dependencies
...
^KT-47430 In Progress
2021-08-16 10:43:59 +00:00
sebastian.sellmair
cdfe8d60a4
[Commonizer] InlineTypeAliasCirNodeTransformer: add artificial supertypes
...
When inlining any TypeAlias pointing towards forward declarations,
the inlined class will respect implicit supertypes.
This logic is analog to
KlibResolvedModuleDescriptorsFactoryImpl.createForwardDeclarationsModule
^KT-47430 In Progress
2021-08-16 10:43:59 +00:00
Sergey Bogolepov
0c35a3b699
[K/N] A bit cleaner reflection of code coverage state in docs.
2021-08-16 09:22:32 +00:00
Ilmir Usmanov
486c6b3c15
Remove obsolete experimental coroutines support
...
in compiler.
2021-08-13 22:31:30 +02:00
Ilmir Usmanov
ebb340fe68
Do not just merge consequent LVT ranges, but also extend them
2021-08-13 23:12:10 +03:00
Ivan Kochurkin
8d764fa50e
[FIR] Add FirPropertyAccessExpression that inherits FirQualifiedAccessExpression
2021-08-13 20:05:43 +03:00
Alexander Udalov
0fb398d45e
Build: enable Werror for almost all compileKotlin tasks
...
The only exception at this point is :kotlin-gradle-plugin:compileKotlin.
2021-08-13 17:46:57 +02:00
Ivan Kochurkin
f2ffead881
Reduce allocations in KotlinTarget and modifier checkers
2021-08-13 18:32:29 +03:00
Ivan Kochurkin
2c1c24c042
[FIR] Implement WRONG_MODIFIER_CONTAINING_DECLARATION, DEPRECATED_MODIFIER_CONTAINING_DECLARATION
2021-08-13 18:32:28 +03:00
Ivan Kochurkin
cd6384eb20
[FIR] Fix handling of WRONG_MODIFIER_TARGET
...
Implement DEPRECATED_MODIFIER, DEPRECATED_MODIFIER_FOR_TARGET, REDUNDANT_MODIFIER_FOR_TARGET
2021-08-13 18:32:27 +03:00
Ivan Kochurkin
e85940a1ac
Unbind modifiers checks from psi
...
Use common code in FE and FIR in modifier checker, refactor
2021-08-13 18:32:26 +03:00
Dmitry Petrov
ed0e3b0fed
JVM_IR KT-47984 minor fixes after review
2021-08-13 18:08:55 +03:00
Dmitry Petrov
f8503ba1bf
JVM_IR KT-47984 minor avoid using @Deprecated function in tests
2021-08-13 18:08:55 +03:00
Dmitry Petrov
55663a0fb1
JVM_IR KT-47984 allow only limited list of GETSTATICs in arg loading
2021-08-13 18:08:54 +03:00
Dmitry Petrov
32c51cbb45
JVM_IR KT-47984 minor drop unneeded caching
2021-08-13 18:08:53 +03:00
Dmitry Petrov
15c41b2610
JVM_IR KT-47984 add test for argument reordering
2021-08-13 18:08:52 +03:00
Dmitry Petrov
edd2ca775b
JVM_IR KT-47984 use stack size calculator from ASM
2021-08-13 18:08:52 +03:00
Dmitry Petrov
5096e8c5c4
JVM_IR KT-47984 transform inplace arguments before inlining
2021-08-13 18:08:49 +03:00
Dmitry Petrov
7a99f9ff2e
JVM_IR KT-47984 allow noinline functional inplace args
2021-08-13 18:08:48 +03:00
Dmitry Petrov
9be941def2
JVM_IR KT-47984 don't move inplace arguments with suspension points
2021-08-13 18:08:47 +03:00
Dmitry Petrov
9acdcc7590
JVM_IR KT-47984 minor cleanup
2021-08-13 18:08:47 +03:00
Dmitry Petrov
bf362abb57
JVM_IR KT-47984 update LVT entries for transformed instructions
2021-08-13 18:08:46 +03:00
Dmitry Petrov
6b18f33f92
JVM_IR KT-47984 don't transform calls with non-local jumps in arguments
2021-08-13 18:08:45 +03:00
Dmitry Petrov
b01c13a4df
JVM_IR KT-47984 inplace arguments inlining for @InlineOnly functions
2021-08-13 18:08:44 +03:00
Dmitry Petrov
ec90649854
JVM_IR minor cleanup in inliner
2021-08-13 18:08:43 +03:00
Pavel Kunyavskiy
d88a665fa8
[K/N] Implement Lazy for new mm
2021-08-13 13:20:59 +00:00
Ivan Kylchik
2f2e608502
Expand the possibilities of object's interpretation
...
It is possible to create object in interpreter even if its
receiver symbol came from function parameter instead of object's class.
#KT-48174 Fixed
2021-08-13 16:18:36 +03:00
Ivan Kylchik
492b8acf93
Rename some methods in interpreter's stack to make their purpose clearer
2021-08-13 16:18:34 +03:00