Mikhail Glukhikh
0c4134bef4
Remove FirResolvePhase from FirElement hierarchy
2019-07-31 12:55:36 +03:00
Steven Schäfer
efb938a7c8
(Un)mute tests
2019-07-31 11:18:44 +02:00
Steven Schäfer
06274b1339
JVM_IR: Simplify RemoveDeclarationsThatWouldBeInlinedLowering
2019-07-31 11:18:44 +02:00
Steven Schäfer
93d414ac01
JVM_IR: Change CallableReferenceLowering to match the JVM backend
...
In particular, the JVM backend inlines the bodies of lambdas into the
generated lambda subclasses and stores bound receivers in the receiver
field of CallableReference. Both are required for reflection.
2019-07-31 11:18:44 +02:00
Steven Schäfer
917435a50c
Extract IrBody.statements utility function
2019-07-31 11:18:44 +02:00
Steven Schäfer
509d257475
JVM_IR: Fixes to SyntheticAccessorLowering
...
This commit fixes the handling of accessors for super calls, changes the
naming scheme to avoid accessor name clashes and uses a more robust test
to determine the placement of accessors for protected static members.
2019-07-31 11:18:44 +02:00
Steven Schäfer
173f1fc7d1
Fix statement order in LocalDeclarationsLowering
...
Previously, the order of IrSetField statements in this lowering was
non-deterministic. This broke the inliner in the JVM backend which
expects statements to be in argument order.
2019-07-31 11:18:44 +02:00
Steven Schäfer
c38fb27676
JVM_IR: Run CallableReferenceLowering before LocalDeclarationsLowering
2019-07-31 11:18:44 +02:00
Steven Schäfer
9816e62d08
JVM_IR: Fix inlining of interface methods
2019-07-31 11:18:44 +02:00
Dmitry Petrov
bdec8b04e8
Minor: trim in RenderIrElementVisitor
2019-07-31 10:37:35 +03:00
Alexey Tsvetkov
efe62c983a
Decrease max heap size for test process on Windows
...
Test processes themselves don't do much
(RAM heavy work is done in Kotlin and Gradle daemons).
The default 1600m max heap size is unreasonably high
for copying test projects and checking output logs.
2019-07-31 04:48:20 +03:00
Alexey Tsvetkov
4db3dcc28f
Use short temp dirs names only in gradle integration tests
2019-07-31 04:48:20 +03:00
Alexey Tsvetkov
1a0c6fe8b8
Unify test tasks configuration in gradle tests
2019-07-31 04:48:20 +03:00
Alexey Tsvetkov
847af4456a
Remove KotlinGradlePluginJpsParametrizedIT
...
We've stopped running it on CI some time ago,
does not seem very useful now
2019-07-31 04:48:20 +03:00
Alexey Tsvetkov
54227e15ff
Do not set max heap size twice
...
The parameter is also set in the next statement (`maxHeapSize = "1600m"`)
2019-07-31 04:48:20 +03:00
Ivan Gavrilovic
de5335b17f
Fix gradle integration tests on Windows
...
Android Gradle Plugin 3.0 and 3.1 use aapt that does not handle
long paths on Windows. This commit uses shorter paths for the project
working directory on Windows.
Test: running integration tests on Windows
2019-07-31 04:48:20 +03:00
Ty Smith
e74a00789d
Add embeddable artifact for jvm-abi-gen
...
#KT-28824 Fixed
2019-07-30 20:47:56 +03:00
Alexey Tsvetkov
37042801c4
Fix CompilerDaemonTest#testDaemonJvmOptionsParsing
...
Forgot to update test data after 560f1483e8 and 317c39f27d
#KT-33048 Fixed
2019-07-30 20:35:23 +03:00
Alexey Tsvetkov
0a91a663b1
Always keep Serializable#serialVersionUID
...
It is usually set explicitly for a reason,
so ProGuard should not throw it away.
#KT-33027 Fixed
2019-07-30 20:20:58 +03:00
Andrey Uskov
a6f50c71bd
Fixed import of package prefix in non-MPP projects
...
#KT-33038 Fixed
2019-07-30 18:43:30 +03:00
Mikhail Glukhikh
eedebcfe4c
FIR lazy resolve: fix test data
2019-07-30 17:42:51 +03:00
Mikhail Glukhikh
869e970bfd
FIR resolution API: fix handling of expressions inside imports
2019-07-30 16:28:18 +03:00
Mikhail Glukhikh
14e9404afd
FIR (raw / resolution API): set correctly elvis/bang-bang bound PSIs
2019-07-30 16:28:18 +03:00
Mikhail Glukhikh
1f771a2407
FIR resolution API: fix handling of expressions inside secondary ctors
2019-07-30 16:28:18 +03:00
Mikhail Glukhikh
2a69efba8a
FIR resolution API: fix handling of expressions inside local functions
2019-07-30 16:28:18 +03:00
Mikhail Glukhikh
760fb668bb
Introduce FIR resolution API with lazy resolve to use in IDE
...
Now lazy resolve atomic element is a file (declaration-level resolve)
or a callable declaration (expression-level resolve)
#KT-24351 In Progress
2019-07-30 16:28:17 +03:00
Mikhail Glukhikh
1cd559a626
Remove FirTotalKotlinResolveInIde test with its provider as obsolete
2019-07-30 16:28:17 +03:00
Mikhail Glukhikh
c3a31dcdf5
Optimize FirSession component storage
2019-07-30 16:28:17 +03:00
Mikhail Glukhikh
7529d557fe
FIR resolution: introduce FirResolvePhase & FirAbstractPhaseTransformer
...
The phase determines which transformers were already applied to declaration.
The transformer controls current resolve phase in phasedFir and
performs additional resolve if necessary.
2019-07-30 16:28:17 +03:00
Mikhail Glukhikh
a38b4756b5
FIR tree refactoring: move FirElement.session to FirDeclaration
...
#KT-30275 Fixed
2019-07-30 16:28:16 +03:00
Dmitriy Novozhilov
98f75669a5
[FIR] Make resolution sequence of CallKind static field
2019-07-30 16:28:16 +03:00
Dmitriy Novozhilov
53404e5dac
[FIR] Extract ResolutionStageRunner component
...
That component is responsible to run all resolution stages on candidate
and calculating resulting applicability.
This is needed for completion of `when` and `try` as function calls
2019-07-30 16:28:16 +03:00
Dmitriy Novozhilov
8bbb60df25
[FIR] Refactoring. Split CallResolver.kt to several files
2019-07-30 16:28:15 +03:00
Dmitriy Novozhilov
3c7b25b8c9
[FIR] Minor. Cleanup code in ConeTypes.kt
2019-07-30 16:28:15 +03:00
Dmitriy Novozhilov
a226e40e34
[FIR] Refactor FirResolveBodyTransformer
...
Extract from it components responsible for call completion,
call resolution and resolution of FQN
2019-07-30 16:28:15 +03:00
Dmitriy Novozhilov
43e7f54fae
[FIR] Add string representation for ConeKotlinType
...
`ConeKotlinType.render` moved from `tree` module to `types` module
2019-07-30 16:28:15 +03:00
Dmitriy Novozhilov
6c26fc1943
[FIR] Don't render Any? upper bounds of type parameters
2019-07-30 16:28:14 +03:00
Dmitriy Novozhilov
7245475196
[FIR] Add DeclaredUpperBoundConstraintPosition to Fir
2019-07-30 16:28:14 +03:00
Dmitriy Novozhilov
d3670d4f5f
[FIR] Add Any? as default bound for all type parameters
2019-07-30 16:28:14 +03:00
Dmitriy Novozhilov
8a21785883
[FIR] Add Any? builtin typeref
2019-07-30 16:28:14 +03:00
Dmitriy Novozhilov
2a360272f6
[FIR] Add Any to supertypes of functional types
2019-07-30 16:28:14 +03:00
Dmitriy Novozhilov
71ca1aa608
[Type system] Fix algorithm of folding recursive types
...
There was a problem when we get type from type projection even if
it is a star projection what is meaningless. Now we try to fold argument
only if it's not a star projection
2019-07-30 16:28:13 +03:00
Dmitriy Novozhilov
a453ed50fa
[FIR] Fix class cast exception in ConeInferenceContext
2019-07-30 16:28:13 +03:00
Dmitriy Novozhilov
6215662e33
Replace usage of ClassicTCContext with abstract context in NewCSTCalculator
2019-07-30 16:28:13 +03:00
Andrey Uskov
0276a6262f
Fix compilation of NewMultiplatformKaptProjectImportingTest in AS 3.3,3.4
2019-07-30 14:34:36 +03:00
Dmitry Savvinov
6177b3e8dc
Minor. Add empty file to previously empty directory in test
...
Otherwise Git doesn't commit empty folder into repository and test fails
later with "invalid directory exception"
2019-07-30 14:19:02 +03:00
pyos
d715344639
psi2ir: precompute sort keys when generating members
...
On kotlinx.serialization, this improves the performace of the compiler
with -Xuse-ir by about 5% (average of 30 runs after 10 warmup runs:
3096 ms -> 2970 ms, minimum: 3037 ms -> 2884 ms). Flamegraphs for
comparison (careful, huge SVG images):
https://drive.google.com/open?id=1BlIFN4ivSKrXjY6vZ0xkZymwucGc7bSI
https://drive.google.com/open?id=1xIW2IvW7LMCaAe4P2dOGOG8nCcpWI9PW
2019-07-30 12:07:12 +02:00
Vladimir Dolzhenko
2d5a1e19d0
Perform GC between performance test runs, add geometric mean calculation and close stats in the end
2019-07-30 11:59:33 +02:00
Vladimir Dolzhenko
3f9480e1c5
Specify parent disposable in JavaOutsideModuleDetector Vfs listener
2019-07-30 11:59:22 +02:00
Dmitry Savvinov
ddb685a8f9
Add test on nonMPP -> MPP dependency
2019-07-30 12:41:41 +03:00