Ivan Cilcic
9dbacb5380
Put the common code into a separate function
2019-08-01 15:14:17 +03:00
Ivan Kylchik
16d7d202d2
Add separated tests for tree generation and fir convertion
2019-08-01 15:14:17 +03:00
Ivan Kylchik
343dcca79d
Add some test cases to test performance and tree construction correctness
2019-08-01 15:14:17 +03:00
Ivan Kylchik
d1e87eb90c
Implement LightTree to Fir converter for declarations
2019-08-01 15:14:17 +03:00
Ivan Kylchik
5b577b9754
Refactor light tree test compare for better result
2019-08-01 15:14:16 +03:00
Ivan Kylchik
f0a5408eb6
Modify previously added test
2019-08-01 15:14:16 +03:00
Ivan Kylchik
200fe63fca
Implement basic class to test light tree builder performance
2019-08-01 15:14:16 +03:00
Dmitriy Novozhilov
14d6f8009d
[NI] Update diagnostic messages in testdata
2019-08-01 14:37:54 +03:00
Dmitriy Novozhilov
8107d1515c
[NI] Minor. Remove redundant code that was added for debugging
2019-08-01 14:37:49 +03:00
Dmitriy Novozhilov
b6a7d21579
[NI] Fix extracting type variables for flexible types in in captured types
...
Bug was introduced in b99efb because of lack of tests.
All code in `AbstractTypeCheckerContextForConstraintSystem.extractTypeVariableForSubtype`
related to IN projection looks suspicious and needs further investigation
2019-08-01 14:37:41 +03:00
Alexander Podkhalyuzin
71a1a0e2f5
Do not highlight annotations as keyword (new default like in Java)
...
#KT-17993 Fixed
2019-08-01 13:49:03 +03:00
Ilya Gorbunov
695d657ca8
Random.nextLong: use progression properties consistently
...
Apply inspection suggestion that helps to reduce boxing.
2019-07-31 21:53:16 +03:00
Ilmir Usmanov
06388b885c
JVM_IR: Support suspend lambdas with receiver
2019-07-31 21:17:09 +03:00
Toshiaki Kameyama
3742993dea
Change to star projection: do not suggest when type paramer is generic type
...
#KT-30794 Fixed
2019-07-31 20:51:57 +03:00
Mikhail Glukhikh
10e42a55c9
FIR: set PSI elements in JavaSymbolProvider / enhancement scope
...
Related to KT-24351
2019-07-31 13:24:20 +03:00
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