Ilya Goncharov
83c1a119ee
[JS, Frontend] Add option to allow extension lambdas in externals
2021-06-18 17:20:56 +03:00
Anton Bannykh
48fe46303d
JS IR: declare intrinsics for lowerings in stdlib
...
- simplifies lowered IR serialization
- removes some hacks in jsOperators.kt
- intrinsics can be directly invoked in stdlib
2021-06-18 15:26:52 +03:00
Yahor Berdnikau
1bb64ffa22
Revert "Print path to java executable Kotlin daemon was started with."
...
This reverts commit 3e69bcba474d498c74a0e9827aa833f2381d43d8.
2021-06-18 10:50:22 +00:00
Yahor Berdnikau
f9ec6bb66a
Revert "Optionally make java executable path contribute to the daemon id."
...
This reverts commit ac86ad252f .
2021-06-18 10:50:21 +00:00
Dmitry Petrov
ce107d06d4
JVM_IR add test for KT-47300
2021-06-17 21:40:30 +03:00
Mark Punzalan
97c10b0b84
FIR IDE: Change PSI element type for NO_COMPANION_OBJECT and
...
EXPRESSION_EXPECTED_PACKAGE_FOUND from KtSimpleNameExpression to
KtExpression (source can be KtDotQualifiedExpression).
2021-06-17 17:26:58 +03:00
Ivan Kochurkin
a0aaf42fb1
Some string and minor optimizations
2021-06-17 13:49:08 +03:00
Ivan Kochurkin
bc3c05a3bd
[FIR] Replace lists with Long in Modifier, refactor Modifier and derived classes
2021-06-17 13:49:08 +03:00
Ivan Kochurkin
6199b85eb9
[FIR] Introduce ModifierKind and optimize Modifier in lightTree
2021-06-17 13:49:08 +03:00
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
Roman Golyshev
108dd37242
Add possibility to use baseDir in CoroutineHelpersSourceFilesProvider
2021-06-17 02:41:32 +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
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
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
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
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
pyos
b6e9f64e18
JVM: remove functionDescriptor from InlineCodegen
2021-06-16 12:13:32 +02:00
pyos
d89e2d9f08
JVM: split inline intrinsics into "needed by JVM_IR" and "not"
...
or, alternatively, "suspend" and "not".
2021-06-16 12:13:32 +02:00
pyos
eb4d831d27
JVM_IR: implement typeOf<T> as a codegen intrinsic
...
rather than a fake inline function.
Also, generate more correct instructions for typeOf. Not sure how that
even worked before - `aconst(Boolean)` isn't even valid.
2021-06-16 12:13:32 +02:00
pyos
7dbf08ae1c
JVM: move loadCompiledInlineFunction out of InlineCodegen
2021-06-16 12:13:32 +02:00
pyos
8307367f90
JVM: don't thread callDefault through the inliner
...
It's only used by the old backend, and should be given to
PsiSourceCompilerForInline by PsiInlineCodegen.
2021-06-16 12:13:32 +02:00
Igor Chevdar
a1e5bef3ad
[box-tests] Ignored some tests for K/N
...
A file included twice in a source set is not supported for now
2021-06-16 14:27:14 +05:00
Iaroslav Postovalov
0ba3ddcc29
Minor. Fix a typo, change visibility of internal object
2021-06-16 10:22:44 +03:00
Georgy Bronnikov
f0f01db66e
Temporarily mute a failing test
2021-06-16 01:48:28 +03:00
Ilya Kirillov
39e2df6916
FIR IDE: render unresolved types as qualifiers for member generator
2021-06-16 01:17:44 +03:00