Commit Graph

64015 Commits

Author SHA1 Message Date
Mikhail Glukhikh 932b03beb2 [FIR2IR] Don't generate fake overrides for another package privates 2020-04-09 15:22:55 +03:00
Mikhail Glukhikh 5c758af0a6 [FIR] Use ScopeSession from resolve transformer in FIR2IR 2020-04-09 15:22:55 +03:00
Ilmir Usmanov f775ac8825 Move legacy assert tests to launcher
since they are broken on JDK 11: they change Field.modifiers, which is prohibited
since JDK 9, because this private field is not exported.
Thus, we need to split the test into two: one with assertions enabled and the other
one with them disabled. Also, we need to run them in separate processes, for them
not to interfere each other.
 #KT-27176 Fixed
2020-04-09 14:10:31 +02:00
Konstantin Tskhovrebov 7671de1b20 Disable test run line marker for object classes. 2020-04-09 14:44:35 +03:00
Alexander Udalov 7652117e3d Minor, ignore test on adapted function references for Android 2020-04-09 12:50:21 +02:00
Alexander Udalov 683489687e Fix NPE in KCallable.isAccessible for interfaces loaded by boot class loader
Class.getClassLoader returns null for classes loaded by the system class
loader (the one used to start the application). In this case we need to
use ClassLoader.getSystemClassLoader. We already have an extension
`safeClassLoader` specifically for this purpose in reflection.jvm, but
forgot to use it in d59f2bcc80.

 #KT-37707 Fixed
2020-04-09 12:35:28 +02:00
Mikhail Zarechenskiy a7b959b88b Fix delegated property resolve with intermediate ID provideDelegate
#KT-37406 Fixed
2020-04-09 13:34:29 +03:00
Vladimir Dolzhenko 0262e9de2f Look up modules under modal progress in ChooseModulePanel
Relates to #KT-30541
#KT-38081 Fixed
2020-04-09 10:12:01 +00:00
Dmitry Gridin 91700c9d2c ReplacementPerformer: fix potential PIEAE 2020-04-09 17:04:08 +07:00
Valentin Kipyatkov 76a573921e Fixed Introduce Parameter broken by earlier changes in KotlinParameterInfo 2020-04-09 12:22:22 +03:00
Ilya Kirillov c9509380c3 Wizard: fix NPE on Mac 2020-04-09 11:27:45 +03:00
Dmitry Gridin 9d8d881bff CallableUsageReplacementStrategy: support KtSuperTypeCallEntry
#KT-37849 Fixed
2020-04-09 15:19:36 +07:00
Dmitry Gridin aec3c22497 ReplacementPerformer: implement ReplacementPerformer for KtSuperTypeCallEntry
#KT-37849
2020-04-09 15:19:35 +07:00
Ilya Matveev cf157e3999 [IDE, native] Update mock K/N dist: fully qualified klib names 2020-04-09 13:07:45 +07:00
Ilya Matveev 12e4159525 [IDE, native] Update mock K/N dist: klib componentization
This patch actualizes an internal structure of mock klibs
used in IDE tests for the K/N support.
2020-04-09 13:07:44 +07:00
Ilya Matveev 02c4008690 [Gradle, native] Blacklist java.endorsed.dirs for all tools
System property java.endorsed.dirs is set by IDEA but not supported
since Java 9 preventing starting a JVM. This patch takes this into
account and blacklists this property for all K/N tools including
the commonizer.

See also:
https://youtrack.jetbrains.com/issue/IDEA-193219
https://youtrack.jetbrains.com/issue/KT-25887
2020-04-09 13:07:43 +07:00
Ilya Matveev ba6ca67e4f [Commonizer] Support short library names 2020-04-09 13:07:43 +07:00
Ilya Matveev 7c0ab5a58e [K/N in IDE] Display short names of platform libs 2020-04-09 13:07:42 +07:00
Ilya Matveev 343e8c6f84 [KLIB] Add short_name to klib manifest
Fixes for KT-36720 and KT-36721 change a scheme that is used to generate
unique names for klibs: now we use "fully qualified" names that
include a group and a name of a library (e.g. org.jetbrains.kotlin.
native.posix).

But in some cases we still need short library names for Kotlin/Native.
For example to display platform libs in the IDE or to export some
symbols of a library to an ObjC framework.

This patch introduces a corresponding property to klib manifest.
2020-04-09 13:07:42 +07:00
Mikhail Bogdanov 6e1af0caee Minor. Update test data 2020-04-09 07:49:30 +02:00
Mikhail Bogdanov 7d54027f41 Minor. Rename new proto property, JvmFlags.getClassFlags method
Compiler requires this new flag to know where actual interface method body is generated to emit proper method calls
2020-04-09 07:37:33 +02:00
Mikhail Bogdanov 0ddef7e4e4 Add new options for '-Xjvm-default' 2020-04-09 07:37:33 +02:00
Mikhail Bogdanov 7876d821a9 Minor. Rename jvm default utility methods 2020-04-09 07:37:33 +02:00
Mikhail Bogdanov 261af10019 JVM.IR. Add assertions for JVM defaults checks 2020-04-09 07:37:33 +02:00
Mikhail Bogdanov b787c8c011 Support jvm default methods in IR
Fix several bugs around DefaultImpls
2020-04-09 07:37:32 +02:00
Mikhael Bogdanov e45a892499 Support mixed compilation of new default with non-default or @JvmDefault 2020-04-09 07:37:32 +02:00
Mikhail Bogdanov a3f930d2e4 Support bridges in interfaces for default methods 2020-04-09 07:37:32 +02:00
Mikhail Bogdanov 93b915c77a Support accessors for private methods for default methods 2020-04-09 07:37:31 +02:00
Mikhail Bogdanov 7bcbae9826 Fix requirements 2020-04-09 07:37:31 +02:00
Mikhail Bogdanov c11f38688e Deprecate @JvmDefault 2020-04-09 07:37:31 +02:00
Mikhael Bogdanov ff8eac29a0 New flag in proto 2020-04-09 07:37:31 +02:00
Mikhael Bogdanov 0c0bd67a6b Add new tests 2020-04-09 07:37:30 +02:00
Mikhael Bogdanov 0570c05683 Rename hasJvmDefaultAnnotation method to isCompiledToJvmDefaultIfNoAbstract 2020-04-09 07:37:30 +02:00
Mikhael Bogdanov bfd709290b Explicitly pass jvmDefaultMode 2020-04-09 07:37:30 +02:00
Dmitriy Dolovov 954ef7d7d6 Minor. Inline function call. Return back comments. 2020-04-09 09:46:51 +07:00
Dmitriy Dolovov f4767f8d9d Gradle: Fix NPE when Native binary does not have a non-null runTaskName 2020-04-09 09:46:41 +07:00
Dmitriy Dolovov 503c06a965 Turn on Idea tooling debugging on IDE launch 2020-04-09 09:46:32 +07:00
Vladimir Dolzhenko 775d3b6e22 Use scope-aware findReferences in RenameKotlinPsiProcessor
#KT-37801 Fixed
2020-04-08 23:54:03 +02:00
Vladimir Dolzhenko eb545ad0f2 Preparation for bunching RenameKotlin*Processor.kt
Relates to #KT-37801
2020-04-08 23:53:35 +02:00
Ilya Kirillov 2a21b18c1c Wizard: fix texts 2020-04-08 21:42:09 +03:00
Alexander Udalov 587cce4a23 Avoid asserts in CodegenAnnotatingVisitor.isAdaptedCallableReference
In light classes mode, binding context may not have all the information
and this can fail, as for example was happening in the test
`diagnostics/tests/regressions/ea76264.kt`.
2020-04-08 19:21:30 +02:00
Alexander Udalov 9f758b4f25 Support toString for AdaptedFunctionReference subclasses
Also make it serializable like other lambdas, suspend lambdas and normal
callable references.
2020-04-08 19:16:38 +02:00
Alexander Udalov fa879e667f Add some tests on adapted references with varargs and reflection
Also rename "varargAndDefaults" test directory to "adaptedReferences"
2020-04-08 19:15:40 +02:00
Alexander Udalov 66995fe1a5 Fix condition in calculation of adapted function reference flags
This only affects flags which are passed to
kotlin.jvm.internal.AdaptedFunctionReference. The only way it could lead
to changes in behavior is if it affected equals/hashCode of adapted
references. But it doesn't seem possible to construct a test where two
_different_ adaptations exist for a function reference to a
vararg-taking function, both of which use some sort of 1.4 function
reference conversion. Hence, no new tests are added.
2020-04-08 19:15:39 +02:00
Alexander Udalov 0681231e99 Introduce AdaptedFunctionReference runtime class
It's used as a superclass for anonymous classes for adapted function
references. Its main feature is that it _doesn't_ inherit from KFunction
(as opposed to FunctionReference), as per the decision to postpone
reflection support for adapted function references in KT-36024.

 #KT-36024 Fixed
2020-04-08 19:15:38 +02:00
Dmitry Petrov d1c5a42124 KT-36024 Generate adapted callable references as lambdas
Make sure both JVM and JVM_IR use the same information to determine
whether a callable reference requires argument adaptation.
2020-04-08 19:02:33 +02:00
Dmitry Petrov ddf7f53118 Add more tests on inline class boxing in covariant overrides 2020-04-08 19:56:26 +03:00
Dmitry Petrov 9615b20e5d Box inline class return value in lambdas (including suspend lambdas) 2020-04-08 19:56:26 +03:00
Ilya Kirillov 59b72b3156 Fix 191 compilation of idea-new-project-wizard module 2020-04-08 19:22:35 +03:00
Ilya Goncharov e2c2453043 [Gradle, JS] Add toStringLoader for imported
#KT-38055 fixed
2020-04-08 18:30:18 +03:00