Commit Graph

27751 Commits

Author SHA1 Message Date
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