Commit Graph

47355 Commits

Author SHA1 Message Date
Dmitry Petrov ae0704af9c Generate singleton references as GET_OBJECT in nested classes 2018-07-20 16:46:18 +03:00
Dmitry Petrov 779cae7db5 Adjust receivers for possibly synthetic properties access
Synthetic property accessors are treated as extension functions on Java
classes by the front-end. However, underlying Java accessor methods are
proper members.
2018-07-20 16:46:18 +03:00
Denis Zharkov 73acc86785 Store computed library kind for jar in a file attribute
It should help to avoid visiting children of each jar in java projects
LibraryEffectiveKindProviderImpl has it's own in-memory cache
but it doesn't help when project is reopened

 #KT-25129 Fixed
 #KT-25034 Fixed
2018-07-20 15:35:58 +03:00
Alexander Udalov ad326f7875 Fix assert on parameter type length for functions with big arity
In case of a bridge for a vararg invoke with big arity, the bridge only
has one parameter (array of parameters), and the delegate method has at
least 23 parameters. This assert was added in 77959247d2 and it didn't
cause any tests in master to fail because tests on functions with big
arity are disabled there
2018-07-20 14:01:09 +02:00
Dmitry Savvinov 6dacd1011f Do not report warning if -XXLanguage turns on bugfix
KT-25554 Fixed
2018-07-20 14:24:42 +03:00
Alexander Udalov e42017a468 Fix ISE in ReflectJavaMember.getValueParameters on Java 6
The exception was incorrectly introduced in 0f0602230a. We should not
fail when `names` is null, only when there's no element at the
corresponding index. On Java 6, `names` is always null. On Java 8,
`names` is never null (it's an empty list if the class was compiled
without "-parameters")
2018-07-20 13:11:11 +02:00
Mikhail Zarechenskiy f8d19718c8 Fix exception on trying to evaluate red code with inline classes
#KT-25600 Fixed
2018-07-20 13:58:35 +03:00
Mikhail Zarechenskiy 17243c08c1 Forbid lateinit variables of inline class types
Proper support of lateinit inline class values will be added later,
 see #KT-23814

 #KT-25603 Fixed
2018-07-20 13:58:33 +03:00
Mikhail Zarechenskiy 045058c29a Support inline class values inside string templates through boxing
#KT-25626 Fixed
 #KT-25613 Open
2018-07-20 13:58:31 +03:00
Mikhail Zarechenskiy 9aa4247065 Do not box primitives in a single-entry string template expression 2018-07-20 13:46:11 +03:00
Mikhail Zarechenskiy 045e3f53b0 Propagate KotlinType into codegen methods where it's possible 2018-07-20 13:46:09 +03:00
Mikhail Zarechenskiy ec9d8e580e Leave boxing for compareTo/areEqual methods for inline classes
Inline classes can override methods and thus introduce side effects
2018-07-20 11:51:34 +03:00
Denis Zharkov 4e7718bfff Minor. Extract many properties to ImportResolutionComponents 2018-07-20 11:27:08 +03:00
Denis Zharkov 0b2fde3886 State on types level that forcing imports works only for non-default 2018-07-20 11:27:08 +03:00
Denis Zharkov 79e776e9d7 Drop KtImportsFactory as it became unused after previous commit 2018-07-20 11:27:08 +03:00
Denis Zharkov ec23695f77 Avoid creating fake PSI for default imports
#KT-13860 Fixed
2018-07-20 11:27:08 +03:00
Dmitry Petrov acf0bb349c Update testData for restricted expression annotations retention 2018-07-20 10:39:51 +03:00
Dmitry Petrov 92a8448042 DiagnosticsTestWithJsStdLib should use proper language version settings 2018-07-20 10:39:51 +03:00
Yan Zhulanow 63d37ec93b as33: Remove AndroidGradleOrderEnumerationHandler (should be moved to the Android plugin) 2018-07-19 19:09:40 +03:00
Yan Zhulanow 314cc5c2f5 Add support for Android Studio 3.3 Canary 1 2018-07-19 19:09:40 +03:00
Yan Zhulanow 315de660ca Minor: Make plugin.xml and build files more consistent with the main bunch 2018-07-19 19:09:40 +03:00
Yan Zhulanow 88422fb7ce Make source set empty for Android modules of deleting the resulting JAR files in 'ideaPlugin' task 2018-07-19 19:09:40 +03:00
Raluca Sauciuc 0e8a04c4ba as33: Android dependency reversal
(cherry picked from commit be781f4f462f74ca0efcc91b5c07a5b3756ba5b2)
2018-07-19 19:09:39 +03:00
Georgy Bronnikov db19a6e150 Make @JvmOverloads work with JVM_IR 2018-07-19 18:36:37 +03:00
Yan Zhulanow 1eb69a6960 Kapt: Do not add JDK jars if the 'no-jdk' option is set (KT-25258) 2018-07-19 17:31:25 +03:00
Nikolay Krasko bdbe6d617c Remove setting kotlin internal mode in pill configurations 2018-07-19 16:37:28 +03:00
Denis Zharkov f72aa78eec Fix libraries analysis for case of isReleaseCoroutines feature enabled
#KT-25466 In Progress
2018-07-19 16:19:04 +03:00
Nikolay Krasko f1463b4a2e Add version replace fix for kotlinx coroutines in Maven (KT-25251) 2018-07-19 16:09:57 +03:00
Nikolay Krasko 481c428881 Add version replace fix for kotlinx coroutines in Gradle (KT-25251)
#KT-25251 In Progress
2018-07-19 16:09:57 +03:00
Nikolay Krasko 86a33defd8 Refactoring: introduce parameter for getResolvedKotlinStdlibVersionByModuleData 2018-07-19 16:09:56 +03:00
Nikolay Krasko 7358cc5bd6 Fix QuickFix-es with the same family name should be the same class instances (KT-25251)
#KT-25251 In Progress
2018-07-19 16:09:56 +03:00
Nikolay Krasko adfa469b21 Maven inspection for incompatible coroutines libraries (KT-25251)
#KT-25251 In Progress
2018-07-19 16:09:56 +03:00
Nikolay Krasko 3bb9288e86 Refactoring: remove ProgressManager.progressIndicator usages 2018-07-19 16:09:55 +03:00
Alexey Sedunov 652d074bca Misc: Change display name of Kotlin/Protractor run configuration type
#KT-25595 Fixed
2018-07-19 15:20:51 +03:00
Ilmir Usmanov 0ed5ec868c Generate probeCoroutineSuspended call in suspendCoroutineUninterceptedOrReturn
#KT-25508: Fixed
2018-07-19 14:24:09 +03:00
Dmitry Savvinov 76c651421b Deprecate visibility of static members inherited from Java
Now they are not visible by short name through companion objects, just
like classifiers in KT-21515

^KT-25333 In progress
2018-07-19 13:32:38 +03:00
Dmitry Savvinov 63202fe560 Minor: spelling fixes in javadocs 2018-07-19 13:32:37 +03:00
Dmitry Petrov 99a71b9ecc Desugar synthetic Java properties in psi2ir 2018-07-19 12:34:45 +03:00
Dmitry Petrov 44962b00b2 Introduce SyntheticPropertyDescriptor interface 2018-07-19 12:34:45 +03:00
Dmitry Petrov 4061a36506 Minor: reformat 2018-07-19 12:34:45 +03:00
Dmitry Petrov 76bfb94538 Add tests for Java synthetic properties in external dependencies 2018-07-19 12:34:45 +03:00
Mikhael Bogdanov 56c535d505 Fix test data 2018-07-19 10:52:13 +02:00
Roman Elizarov f5193802fc Uncommented coroutines tests that were failing due to inline class bugs 2018-07-19 10:32:55 +03:00
Yan Zhulanow 094cb6be1d Pill: Add an order entry for module's sources 2018-07-18 22:05:36 +03:00
Yan Zhulanow 2049d00ca8 Pill: Fix packages to find tests in for default test run configurations 2018-07-18 22:05:36 +03:00
Yan Zhulanow e243dd18c1 Pill: Add "-Duse.pill=true" parameter to the default test configurations
This switches 'JUnit3RunnerWithInners' to the JPS mode.
2018-07-18 22:05:36 +03:00
Yan Zhulanow af2f5549c5 Debugger: Do not report division by zero also for rem 2018-07-18 22:05:36 +03:00
Alexander Udalov 1464a4ac58 Load Java parameter names correctly in BinaryJavaMethod
PSI-based implementation (accessible via
`-Xuse-old-class-files-reading`) loads parameter names from the
"MethodParameters" attribute if it's present, so our own implementation
should as well.

This metadata doesn't seem supported in the java.lang.model.element API
though, so SymbolBasedValueParameter (which is used in `-Xuse-javac`)
will continue to have incorrect behavior for now

 #KT-25193 Fixed
2018-07-18 18:15:09 +02:00
Alexander Udalov 0f0602230a Fix parameter names of Java inner classes in reflection
#KT-25541 Fixed
2018-07-18 18:15:09 +02:00
Alexander Udalov 873e1b01d6 Merge and improve tests on Java parameter metadata in reflection 2018-07-18 18:15:08 +02:00