Commit Graph

61110 Commits

Author SHA1 Message Date
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
Mikhail Zarechenskiy 678c74b17f [NI] Don't forget to update receivers for builder-inference 2020-01-28 12:19:44 +03:00
Georgy Bronnikov 97abc872b2 IR: deal with corresponding classes for enum entries in JvmDescriptorUniqIdAware 2020-01-28 12:19:44 +03:00
Georgy Bronnikov f75400cc1a IR: avoid some calls of getUniqId() 2020-01-28 12:19:44 +03:00
Georgy Bronnikov 8f4b4007fe JVM_IR: Add test for compiling against cross-platform Klib 2020-01-28 12:19:43 +03:00
Georgy Bronnikov f1b5198b86 Avoid calling ExternalDependenciesGenerator twice 2020-01-28 12:19:43 +03:00
Georgy Bronnikov 5ede65c525 JVM_IR: read Klib 2020-01-28 12:19:43 +03:00
Georgy Bronnikov 47d6bdfd35 IR: add isProvidedByDefault() to SearchPathResolver 2020-01-28 12:19:43 +03:00
Georgy Bronnikov ed4be36484 JVM_IR, minor: change package for JvmMangler 2020-01-28 12:19:43 +03:00
Dmitry Petrov 2d3a142786 Commonize 'fun interface' handling as much as possible
TODO decide something about SamType.createByValueParameter in case of
out-projected types.
2020-01-28 11:40:14 +03:00
Dmitriy Dolovov edff099ab1 [Commonizer] Don't use experimental Kotlin time in commonizer 2020-01-28 15:37:24 +07:00
Dmitriy Dolovov 40b358b43c [Commonizer] Process endorsed libraries in CLI 2020-01-28 15:37:18 +07:00
Dmitriy Dolovov aa1c7bb562 [Commonizer] Fix classpath dependency for CLI 2020-01-28 15:37:11 +07:00
Vladimir Ilmov e4d157c126 [coroutine] running coroutine stack frame merged with coroutine info 2020-01-28 08:40:14 +01:00
pyos f1669e2230 IR: mark interface delegate fields as synthetic
This requires separating them origin-wise from property delegates.
2020-01-28 10:35:22 +03:00
Mikhail Glukhikh ce1f746c5e [FIR] Allow more than one function with some name in local scope 2020-01-28 09:36:56 +03:00
Ilya Matveev 0725a336fc Fix data race in zip FileSystem reference counting
Issue #KT-36076 Fixed
2020-01-28 13:08:40 +07:00
Andrey Uskov 4eb38721a5 Minor. Fix BuildSessionLoggerTest 2020-01-27 22:25:28 +03:00
Andrey Uskov e7057cf2b3 Fix classpath of IDEA plugin tests 2020-01-27 22:24:24 +03:00
Andrey Uskov 9ae3b2cf43 Fixed locking statistics files when multiple gradle daemons started 2020-01-27 22:23:21 +03:00
Igor Yakovlev a68a6b77df Move top level declaration refactoring 2020-01-27 22:05:30 +03:00
Alexander Gorshenev f58a6e054c Provide the same createKotlinLibrary even in multi-component situation 2020-01-27 20:21:32 +03:00
Alexander Gorshenev 8b036ace26 Moved several more components to resolveSingleFileKlib 2020-01-27 20:21:32 +03:00
Alexander Gorshenev 19cbdb096f Fine tuned the single file klib resolver 2020-01-27 20:21:32 +03:00
Alexander Gorshenev fcce35c06f Move tools to resolveSingleFileKlib 2020-01-27 20:21:32 +03:00
Alexander Gorshenev 7390e74bbd Initial implementation of klib components 2020-01-27 20:21:32 +03:00
Victor Petukhov f7626d6474 Exclude reporting IMPLICIT_NOTHING_AS_TYPE_PARAMETER warning for suspend lambdas
^KT-36101 Fixed
2020-01-27 18:12:58 +03:00
Dmitriy Dolovov 901bb904e0 Fix GradleNativeLibrariesInIDENamingTest 2020-01-27 21:33:30 +07:00
simon.ogorodnik 97f134eab1 Remove outdated fir-view module 2020-01-27 17:08:18 +03:00
Dmitry Petrov c939fb7b05 PSI2IR: Fix argument adaptation for unbound references
NB front-end "lies".
2020-01-27 17:03:48 +03:00
Dmitry Petrov 0152f19d5f PSI2IR: Use substituted value parameter in function reference adaptation 2020-01-27 17:03:48 +03:00
Mikhael Bogdanov 6e94eddb71 JVM_IR. Fix bridge generation 2020-01-27 14:53:36 +01:00
Alexander Gorshenev dfa509ec5b This reverts commits
afb2e9f38d.
    8c4fa6446d.
    f3bc533073.
    ccf084b1a5.
2020-01-27 15:30:16 +03:00
Mads Ager e327b174a2 IR: Use name \$\$delegate_n for the field for interface delegation.
Without this change, these fields could have names such as
`<no name provided>$SuperClass$delegate` for something like
`object SuperClass by I { }`.
2020-01-27 15:28:27 +03:00
Ilya Chernikov a37ec5a062 [minor] "fix" fir testdata for KT-32792 & KT-34857 2020-01-27 13:24:49 +01:00
Dmitry Petrov dc4d453879 PsiErrorBuilder - error reporting abstraction for JVM_IR 2020-01-27 15:17:39 +03:00
Alexander Gorshenev afb2e9f38d Fine tuned the single file klib resolver 2020-01-27 14:24:14 +03:00
Alexander Gorshenev 8c4fa6446d Moved several more components to resolveSingleFileKlib 2020-01-27 14:24:14 +03:00
Alexander Gorshenev f3bc533073 Move tools to resolveSingleFileKlib 2020-01-27 14:24:14 +03:00
Alexander Gorshenev ccf084b1a5 Initial implementation of klib components 2020-01-27 14:24:14 +03:00
Mikhail Glukhikh f949b48b4a [FIR] Swap priority of kotlin libraries / built-ins #KT-35948 Fixed 2020-01-27 13:21:54 +03:00
Dmitriy Dolovov c9b1c384e6 Clean-up: Split nativeLibrariesUtil.kt into separate files in idea-gradle 2020-01-27 17:09:21 +07:00
Dmitry Petrov ba1415d7d1 Minor: remove assertion in getCallableReferenceAdaptation 2020-01-27 12:30:59 +03:00
Ilya Chernikov 9623b0eedb Report error instead of assertion when property is used as operator
#KT-34857 fixed
2020-01-27 10:10:44 +01:00