Mark Punzalan
e226561150
[JVM IR] Copy metadata in IrFieldBuilder.
...
This fixes an issue with lateinit properties where the metadata from
the original field was not copied to the nullable field in
LateinitLowering. Also consolidated related tests.
2020-01-29 17:12:16 +01:00
Mikhael Bogdanov
f5f25224b0
JVM_IR. Add IrAsmLikeInstructionListingTestGenerated tests
2020-01-29 17:00:00 +01:00
Mikhael Bogdanov
342ff50e31
Minor. Update test
2020-01-29 16:59:59 +01:00
Mikhael Bogdanov
1ecf9d407f
JVM_IR. Align order of JvmOverload functions between backends
2020-01-29 16:59:58 +01:00
Mikhael Bogdanov
504d79577d
JVM_IR. Align outer parameter name generation between backends
2020-01-29 16:59:57 +01:00
Mikhael Bogdanov
17e89fbbdb
JVM_IR. Align synthetic parameter name generation across backends
2020-01-29 16:59:57 +01:00
Mikhael Bogdanov
c42984ca33
Generate proper flags for <clinit>
2020-01-29 16:59:56 +01:00
Mikhael Bogdanov
6c07dbf351
JVM_IR. Support type annotations
2020-01-29 16:59:55 +01:00
Mikhail Glukhikh
53d50c935a
[FIR] Do not use strict type equality in override checker
2020-01-29 15:58:12 +03:00
Mikhail Glukhikh
e43a57bdee
[FIR] Do not process constructors in super-type scopes
2020-01-29 15:58:04 +03:00
Mikhail Glukhikh
b4267558d7
[FIR] Fix constructors aliased importing
2020-01-29 15:57:47 +03:00
Dmitry Petrov
bf9673a0a2
PSI2IR: SAM conversion should be performed once for index variables
...
Given esoteric code as in 'caoWithAdaptationForSam.kt', we should make
sure that we pass same objects to 'get' and 'set'.
2020-01-29 15:30:07 +03:00
Mikhail Zarechenskiy
e750528551
Fix project compilation against bootstrap compiler
...
This is needed after e3b6104489
2020-01-29 15:25:22 +03:00
Svyatoslav Kuzmich
091e8495cd
[JS IR] Use util-klib tool to filter klib in JS IR gradle plugin
2020-01-29 15:22:07 +03:00
Mikhail Zarechenskiy
a8edd08121
[NI] Do not rely on a key that returns non-substituted types
2020-01-29 11:43:15 +03:00
Mikhail Zarechenskiy
e42f16c95c
[NI] Fix construction of common system for builder inference
2020-01-29 11:43:15 +03:00
Mikhail Zarechenskiy
e3b6104489
[NI] Map vararg to Array if it's resolved against type variable
...
While this behavior is questionable, it's consistent with OI and can
be changed in future
#KT-36201 Fixed
2020-01-29 11:43:14 +03:00
Mikhail Zarechenskiy
35f6810b58
[NI] Do not incorporate constraints that are needed only for nullability
2020-01-29 11:43:13 +03:00
Mikhail Zarechenskiy
ce690d8a1d
Add test for obsolete issue
...
#KT-36121 Obsolete
2020-01-29 11:43:11 +03:00
Denis Zharkov
e725f255f1
FIR: Share the same ScopeSession instance between phases
...
^KT-34563 Fixed
2020-01-29 11:31:57 +03:00
Denis Zharkov
280fb94774
FIR: Cache file importing scopes
2020-01-29 11:31:57 +03:00
Denis Zharkov
0b2b23189a
FIR: Cache default importing scopes
2020-01-29 11:31:57 +03:00
Denis Zharkov
95084a5312
FIR: Minor. Inline unused parameter in FirDefaultStarImportingScope
2020-01-29 11:31:57 +03:00
Mikhail Glukhikh
3f95ac341c
[FIR] Implement SAM candidates discrimination
2020-01-29 11:09:28 +03:00
Ilya Gorbunov
3bd3d61469
Test experimental coroutines version requirement on JVM only
...
Modify 'suspendFun' and 'nestedClassMembers' tests so that pre-release
suspend functions are tested only on JVM, where they are still supported.
2020-01-29 09:12:42 +03:00
Ilya Gorbunov
c28710419a
Drop noStdLib coroutines tests
...
They were disabled anyway because coroutines can't be compiled without
the support API in stdlib
#KT-36083
2020-01-29 09:12:42 +03:00
Ilya Gorbunov
9f8e3dad33
Add coroutines-compat jar dependency to those tests that require it
...
#KT-36083
2020-01-29 09:12:40 +03:00
Ilya Gorbunov
cef81e11b7
Do not generate JS tests for experimental coroutines support
...
#KT-36083
2020-01-29 09:12:40 +03:00
Denis Zharkov
70ce63c8d4
FIR: Support rewritten implicit types calculator in IDE
...
Unlike the compiler, in the IDE different files may have different
resolve state.
So using ReturnTypeCalculatorForFullBodyResolve may be not correct there
2020-01-28 17:03:50 +03:00
Denis Zharkov
c6c773f6f9
FIR: Mark all dependencies' declarations as fully resolved
2020-01-28 17:03:50 +03:00
Denis Zharkov
dd51d5065a
FIR: Rename classes properly in FirImplicitBodyResolve.kt
2020-01-28 17:03:50 +03:00
Denis Zharkov
1cb18a73db
FIR: Get rid of old FirImplicitTypeBodyResolveTransformerAdapter
2020-01-28 17:03:50 +03:00
Denis Zharkov
f2abb57021
FIR: Introduce and use FirClass<*>::unsubstitutedScope
2020-01-28 17:03:50 +03:00
Denis Zharkov
6e8d67b96f
FIR: Simplify contract in FirScopeProvider::getUseSiteMemberScope
2020-01-28 17:03:50 +03:00
Denis Zharkov
de4bfb3973
FIR: Implement FirApplyInferredDeclarationTypesTransformer
2020-01-28 17:03:50 +03:00
Denis Zharkov
8e672222bb
FIR: Do not resolve implicitly typed function twice
2020-01-28 17:03:50 +03:00
Denis Zharkov
c295f2dc25
FIR: Reimplement implicit types calculator
...
Make it works through a single component tracking computation status
instead of storing it in the nodes
2020-01-28 17:03:50 +03:00
max-kammerer
f256547cc8
Revert "JVM_IR: Use direct field access instead of calling certain accessors."
...
This reverts commit 62f9e7a810 .
2020-01-28 14:55:56 +01:00
Dmitriy Novozhilov
056c3c95bb
[FIR-TEST] Remove unnecessary test
2020-01-28 14:14:21 +03:00
Dmitriy Novozhilov
ff3116f0ed
[FIR] Support intersection types in some type context methods
2020-01-28 14:14:21 +03:00
Dmitriy Novozhilov
57a1342aac
[FIR] Fix creating DefinitelyNotNullTypes
...
Also fix substitutions to them
2020-01-28 14:14:21 +03:00
Dmitriy Novozhilov
4303cd2fc7
[FIR] Put rendering of cone types in one place and change render for error types
2020-01-28 14:14:21 +03:00
Dmitriy Novozhilov
a882cd98ea
[FIR] Drop duplicate edges in fir tree graph
2020-01-28 14:14:20 +03:00
Dmitriy Novozhilov
985b61f925
[FIR] Drop ARRAY_CLASS_NAME and use name from StandardClassIds instead
2020-01-28 14:14:20 +03:00
Dmitriy Novozhilov
7d8363d6aa
[FIR] Use Function<R> as super type for all FunctionNtypes
2020-01-28 14:14:20 +03:00
simon.ogorodnik
099d737e86
[FIR] Fix compiler configuration for modularized test
2020-01-28 13:21:14 +03:00
Igor Yakovlev
f7dfbbbfbd
Remove const keyword requirement from UL final fields initializers
2020-01-28 13:01:03 +03:00
Vladimir Dolzhenko
00c71dd098
Clear computable when value is calculated and CallOnceFunction is added
...
Relates to #KT-35256
2020-01-28 10:50:46 +01:00
Mads Ager
62f9e7a810
JVM_IR: Use direct field access instead of calling certain accessors.
...
Final default properties accessors that access a backing field
on the same class can be replaced by direct field use.
Perform the optimization late in the pipeline to allow lowerings
to expose more opportunities for optimizations.
2020-01-28 10:42:15 +01:00
Georgy Bronnikov
e351d560d6
IR: remove KotlinIrLinker.checkAccessibility
...
This sanity check conflicted with cases where visibility test is
suppressed in the frontend.
2020-01-28 12:19:44 +03:00