Commit Graph

23132 Commits

Author SHA1 Message Date
Nikolay Krasko 9cfbf27602 Use same classloader for loading JS and JVM compilers 2015-06-05 14:29:47 +03:00
Denis Zharkov 9ec235c011 Introduce KotlinNamesValidator
It's needed to prohibit invalid kotlin identifiers in refactorings

 #EA-69048 Fixed
 #EA-69063 Fixed
2015-06-05 11:58:16 +03:00
Alexander Udalov 6e97f85863 Fix type argument substitution bug in KFunction construction
For example,

KMemberFunction2<T, P1, P2, R> : KMemberFunction<T, R>

So for this inheritance the heuristic that was present ("take the last K type
parameters of the subclass, and substitute for K parameters of the superclass")
was wrong. The new heuristic for this case is: take type parameters with the
same names.

Also don't store "parameters" in a lazy value, since it's easy to compute and
it's computed practically every time anyway
2015-06-04 23:08:21 +03:00
Alexander Udalov b474fa9278 Refactor fictitious function class kinds, reuse in J<->K map 2015-06-04 23:08:21 +03:00
Alexander Udalov 9e8c51f7d3 Minor, delete pointless field annotations 2015-06-04 23:08:20 +03:00
Ilya Gorbunov 1036448fcd Improve the documentation of MatchGroupCollection.
#KT-7938 Fixed
2015-06-04 20:51:08 +03:00
Mikhail Glukhikh 98407a7c4b Recursive annotations are now possible for properties / functions / classes / primary constructors #EA-66984 Fixed #EA-63992 Fixed #EA-64272 Fixed
A set of tests provided.
2015-06-04 20:09:36 +03:00
Ilya Gorbunov 0c1a8ab8ff Change KotlinCleanupInspection display name and description to mention deprecated symbols 2015-06-04 20:00:55 +03:00
Evgeny Gerashchenko c194ced87e Performance report is emitted only when corresponding command-line argument is provided. 2015-06-04 19:45:01 +03:00
Natalia Ukhorskaya b4190fb1fe Rewrite KotlinOutputParser for Android plugin to make it works with Android Studio 1.3
#KT-7862 Fixed
2015-06-04 19:17:46 +03:00
Pavel V. Talanov 812273cb2b Fix a problem when invoking completion outside of source roots could lead to declarations from index being analyzed in a wrong resolution facade 2015-06-04 18:36:05 +03:00
dnpetrov 50ea67ba13 KT-5524 Support [platformName] annotation for class members
@platformName is now supported for final non-overriding class member functions
(including property accessors).
Front-end provides diagnostics for inapplicable annotation cases.
Code generation updated:
- ignore kotlin.platform.platformName annotation for Java class methods;
- bridges generation generates proper JVM declarations in case of methods renamed with @platformName.
@platformName-related tests added.

#KT-5524 Fixed
2015-06-04 17:54:08 +03:00
Evgeny Gerashchenko 0bf249d6ae Do not recompile module when anonymous object or local class is changed. 2015-06-04 17:50:14 +03:00
Evgeny Gerashchenko 6403ef39eb KT-7521 Compilation problem of dependent modules with different jdks
#KT-7521 fixed
2015-06-04 17:50:13 +03:00
Valentin Kipyatkov 200c6446be Probably fixed EA-69004 2015-06-04 17:23:20 +03:00
Valentin Kipyatkov f05789e224 Fixed EA-69042 2015-06-04 17:21:28 +03:00
Valentin Kipyatkov e597532c7a KT-7815 Smart completion after "as" inserts fq-name for type parameter
#KT-7815 Fixed
2015-06-04 17:21:28 +03:00
Valentin Kipyatkov d3e4b346ce Deprecated symbols made less priority than named parameters 2015-06-04 17:21:28 +03:00
Valentin Kipyatkov 54836113a7 Better test data format 2015-06-04 17:21:28 +03:00
Valentin Kipyatkov 603f7ef3c1 KT-7756 Completion of "return null", "return true" and "return false"
#KT-7756 Fixed
2015-06-04 17:21:27 +03:00
Ilya Gorbunov 009baa11fc Specific wording in exception message for String methods. 2015-06-04 16:45:55 +03:00
Ilya Gorbunov a1d8e9d633 Provide dropLast and takeLastWhile methods. Optimize special cases of drop/take/dropLast/takeLast (when n is equal to zero or size of collection). 2015-06-04 16:32:25 +03:00
Ilya Gorbunov 9f85fa9720 Make proposed split replacement equivalent in behavior with additional dropLastWhile call.
#KT-7887
2015-06-04 16:32:23 +03:00
Ilya Gorbunov 9b17220baa Provide dropLastWhile for Arrays, Lists and Strings. 2015-06-04 16:32:21 +03:00
Ilya Gorbunov 705c9089f0 Provide replacement for methods deprecated in favor of SAM-constructors.
Provide replacement for isNotEmpty on nullable receiver.
JS: Provide SAM-like constructor for Runnable.
2015-06-04 16:32:19 +03:00
Ilya Gorbunov 13c89b7ae9 Provide lineSequence() extension method instead of BufferedReader.lines() in order not to conflict with JDK8 instance method with the same name. 2015-06-04 16:32:17 +03:00
Michael Bogdanov dee26957d1 Tests for obsolete KT-4798, KT-7288, KT-7046
#KT-4798 Obsolete
 #KT-7288 Obsolete
 #KT-7046 Obsolete
2015-06-04 16:28:08 +03:00
Valentin Kipyatkov 9e27e208ef Made test data correct 2015-06-04 16:20:30 +03:00
Valentin Kipyatkov 6751a1d440 DeprecatedSymbolUsageFix: keeping explicit type arguments in original form 2015-06-04 16:20:30 +03:00
Valentin Kipyatkov 9f1fbe20dc Extracted methods 2015-06-04 16:20:30 +03:00
Valentin Kipyatkov a26c62ab0f KT-7895 Auto replace for deprecated (ReplaceWith) loses generic type
#KT-7895 Fixed
2015-06-04 16:20:29 +03:00
Valentin Kipyatkov f14615315d KT-5482 Redundant type arguments are not detected in some cases
#KT-5482 Fixed
2015-06-04 16:20:29 +03:00
Denis Zharkov 9802931a90 Remove variables with empty ranges from local vars table
As their ranges may intersect after dead code elimination that leads to VerifyError
2015-06-04 16:11:02 +03:00
Denis Zharkov 310babefdf Minor, Rename InsnStream -> InsnSequence 2015-06-04 16:11:02 +03:00
Denis Zharkov 8da3f53404 EA-53937: Drop failing assertion about no-name val in annotation 2015-06-04 16:11:02 +03:00
Denis Zharkov 0e718fbaab Introduce UNKNOWN visibility as default in FunctionDescriptor
It's needed to prevent NPE when requesting non-nullable visibility of descriptor
before `initialize` has been called.
Currently it happens because of indirect calls of `DescriptorUtils.isLocal`
between descriptor creation and it's initialization.
2015-06-04 16:11:02 +03:00
Denis Zharkov 4f85afb3f0 Fix DescriptorUtils.isLocal semantics
Non-member descriptors, e.g. type parameters, value parameters that defined in local function should be local too
Otherwise a lot of exceptions happens when resolving references within anonymous objects
2015-06-04 16:11:02 +03:00
Nikolay Krasko e874ad9cbb Remove getting stacktrace in internal mode 2015-06-04 15:33:16 +03:00
Nikolay Krasko 46ddb1958f Update IDEA to 141.1383.1 2015-06-04 15:33:14 +03:00
Valentin Kipyatkov 6e7fd19d8e KT-7695 Java to Kotlin converter incorrectly generates a cast to non-nullable type
#KT-7695 Fixed
2015-06-04 15:11:48 +03:00
Valentin Kipyatkov 1fa777f3c3 Fixed EA-60042 2015-06-04 15:11:48 +03:00
Valentin Kipyatkov 142ee0ce70 Fixed EA-65709 2015-06-04 15:11:47 +03:00
Michael Bogdanov 83f04501be Remove error diagnostic from return in multideclaration
#KT-5100 Fixed
2015-06-04 12:01:59 +03:00
Dmitry Jemerov a321e8eef5 performance counters infrastructure 2015-06-04 10:20:19 +02:00
Valentin Kipyatkov a3a33ce089 Minor code improvements + more correct code 2015-06-04 01:05:50 +03:00
Valentin Kipyatkov 9c0d607894 Replace "||" with "&&" (and the opposite) made more clever about negating expressions 2015-06-04 01:05:50 +03:00
Valentin Kipyatkov ac6ef6b544 KT-7454 Replace "||" with "&&" adds unnecessary parethesis
#KT-7454 Fixed
2015-06-04 01:05:50 +03:00
Valentin Kipyatkov 1a0f8a5070 Maybe it will fix EA-67317 2015-06-04 01:05:50 +03:00
Valentin Kipyatkov b73ebad167 Fixed EA-66035 2015-06-04 01:05:50 +03:00
Valentin Kipyatkov 4957495cf3 Migrated to use of modern API 2015-06-04 01:05:50 +03:00