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
Victor Petukhov
559bedf5ae
Continue processing not builder inference stub variables in the type checker during computing common super type
...
^KT-47148 Fixed
2021-06-15 17:40:56 +03:00
Victor Petukhov
85f4cec948
Don't ignore Java nullability annotations without target and unresolved when nullability qualifiers are extracted, with enabled type enhancement improvements
...
^KT-47276 Fixed
2021-06-15 17:28:25 +03:00
Mads Ager
ae03e2983d
[JVM_IR] Keep track of catch variable gaps.
...
This ensures that catch variables are not visible in duplicated
finally blocks generated at an exit within the catch variable
scope.
^KT-46449 Fixed
2021-06-15 15:18:59 +02:00
Victor Petukhov
1b82227308
Don't do new captured type specific checks for old ones in the type checker
...
^KT-47143 Fixed
2021-06-15 10:07:20 +03:00
Vyacheslav Gerasimov
06b4fe1613
Build: Fix kotlin-stdlib-jvm-minimal-for-test usages
...
Name changed after publishing with main artifacts for external usage
2021-06-12 04:33:32 +03:00
Mikhail Glukhikh
af5e2f3c93
FIR checkers: properly handle annotations with more than one argument
2021-06-11 22:03:33 +03:00
Mikhail Glukhikh
ceb527c5e4
FIR: add OptIn checkers draft + some annotation / SinceKotlin utilities
2021-06-11 22:03:32 +03:00
Mikhail Glukhikh
bd39e457a7
FIR: make ArrayMapOwner.arrayMap really protected
2021-06-11 22:03:32 +03:00
Mikhail Glukhikh
0972020324
Extract common parts from ExperimentalUsageChecker
2021-06-11 22:03:32 +03:00
Mikhail Glukhikh
f0453d2f5c
FIR: distinguish qualified access / qualified access expression checkers
2021-06-11 22:03:32 +03:00
Mads Ager
6b6ba77869
[JVM_IR] Trim the expression test string for null assertions.
...
^KT-47166 Fixed.
2021-06-11 21:54:04 +03:00
Roman Golyshev
3f0cc67f17
Fix converting string GLOB to regexp in TestConfigurationBuilder
...
This is required when `p1|p2|p3|...|pN` concatenation is used (see `or`
extension function above `toMatchingRegexString`)
This is a follow-up to the 6f4b6c1b5b7bc05557306179e25a79fa234aa77f
commit
2021-06-11 20:06:04 +03:00
Roman Golyshev
30f20cb835
Use more reliable paths matching in TestConfigurationBuilder
...
Without it, even the slightest difference between the pattern and
testDataPath would cause the path to be excluded, for example:
testDataPath = /some/absolute/path.txt
pattern = absolute/*
The example above didn't match, and it resulted in different
configurations when tests were launched with different testDataPaths
Now, the example above will look like this:
testDataPath = /some/absolute/path.txt
patter = */absolute/*
Now it matches correctly
2021-06-11 20:06:03 +03:00
nataliya.valtman
d42a6771b0
Update statistics that should be sent to ES
...
Next properties should be set in gradle.properties or via -D option:
systemProp.kotlin.plugin.stat.password
systemProp.kotlin.plugin.stat.user
systemProp.kotlin.plugin.stat.enabled=true
systemProp.kotlin.plugin.stat.label
systemProp.kotlin.plugin.stat.endpoint=es_endpoint/index/_doc
kotlin.build.report.verbose=true
kotlin.build.report.enable=true
2021-06-11 19:12:05 +03:00
Dmitry Petrov
bf077b893c
PSI2IR KT-47245 handle declaration statements in control structures
2021-06-11 16:42:31 +03:00
pyos
3be348f910
JVM_IR: fix parentClassId for property accessors
2021-06-11 15:03:13 +02:00
pyos
d4485bc475
JVM: remove unused methodOwner from InlineCodegen
2021-06-11 15:03:13 +02:00
pyos
ed26e97df8
JVM: refactor loading of inline functions from binaries
...
The IR path no longer does any descriptor unwrapping or old-style type
mapping.
2021-06-11 15:03:13 +02:00
pyos
7bcd738bb1
JVM: inline createInlineMethodNode into InlineCodegenForDefaultBody
...
Most of it is unused, since there we know the target function will also
need to be compiled from source.
2021-06-11 15:03:13 +02:00
pyos
4c7eb815fc
JVM: remove some FunctionDescriptors from SourceCompilerForInline
2021-06-11 15:03:13 +02:00
pyos
a24ad233ee
JVM: move PsiSourceCompilerForInline to a separate file
2021-06-11 15:03:13 +02:00
pyos
955b9260d1
JVM: move more old backend code out of InlineCodegen
2021-06-11 15:03:13 +02:00
pyos
043452fb62
JVM: make handling of captured params for default lambdas shorter
2021-06-11 15:03:13 +02:00
pyos
4cae880b44
JVM: remove unused DefaultLambda.parameterOffsetsInDefault
2021-06-11 15:03:13 +02:00
pyos
8a3af851d9
JVM: pregenerate inline lambda bodies as early as possible
...
Which in JVM_IR is immediately in `genValueAndPut`, but for the old
backend needs to be delayed until `genCallInner` for some reason.
2021-06-11 15:03:13 +02:00
pyos
90412ade8a
JVM: remove second parameter of putClosureParametersOnStack
...
Only used by the old backend.
2021-06-11 15:03:13 +02:00
pyos
d4c8a033b1
JVM: remove BaseExpressionCodegen.pushClosureOnStack
...
It's only used by the old backend
2021-06-11 15:03:13 +02:00
pyos
b6c3c9942d
JVM: move activeLambda to PsiInlineCodegen
2021-06-11 15:03:13 +02:00
pyos
7333abf50d
JVM: purge redundant val BaseExpressionCodegen.v
2021-06-11 15:03:13 +02:00
pyos
1f9db7cf25
FE: properly clear the deferred generator stack
...
Before this commit the stack wasn't cleared for read variable case.
#KT-47168 Fixed
2021-06-11 15:56:20 +03:00
Georgy Bronnikov
91387e644f
IR: repair collectAndFilterRealOverrides
2021-06-11 15:05:45 +03:00
Georgy Bronnikov
7e6782d684
JVM_IR: simplify resolveFakeOverride call in SyntheticAccessorLowering
2021-06-11 15:05:45 +03:00