Alexey Sedunov
4a56b99cff
Introduce Parameter: Reimplement in-place refactoring using AbstractInplaceIntroducer
...
This simplifies implementation and fixes bug with unnecessarily detailed command history available through undo/redo
2015-06-05 21:10:35 +03:00
Alexander Udalov
d475401108
Ant task: don't pass kotlin-runtime.jar to javac on "-no-stdlib"
2015-06-05 16:19:55 +03:00
Alexander Udalov
f5ec8d6850
Minor, delete useless test
...
'withKotlinNoJavaSources' tests exactly the same
2015-06-05 16:19:42 +03:00
Alexander Udalov
e224337ff3
Ant task: support "compilerarg" element in withKotlin as in kotlinc
2015-06-05 16:19:19 +03:00
Alexander Udalov
dda44a61a1
Rewrite integration tests to JUnit3, make Ant JVM task tests generated
2015-06-05 16:19:17 +03:00
Alexander Udalov
0f6c23e1c4
Don't always run code in Ant task tests
...
But when running code, do it via <java> task, not via custom testing code. Most
of the time the compiled code need not be runned, because it's irrelevant to
the Ant task itself
2015-06-05 15:55:59 +03:00
Alexander Udalov
968d362b77
Don't check exit code in Ant tests
...
It's already checked in the build log in each test
2015-06-05 15:55:58 +03:00
Alexander Udalov
89408f45bb
Ant task: pass kotlin-runtime to javac's classpath; simplify tests
...
'kotlinCompiler' test is deleted because it's a very roundabout way to compile
Kotlin and Java sources, and there's no point in testing it.
'javacCompiler' test is deleted for similar reasons: using javac's "compiler"
option is not an advertised way to use Kotlin Ant task, and anyway it will work
with any CompilerAdapter instance, so it's hard to break it (apart from
deleting "withKotlin" adapter).
There are tests which check compilation/running of the same code but with the
recommended method. The pretext for deletion of these tests is to make Ant
tests generated, and that would be easier if they wouldn't depend on any outer
variables
2015-06-05 15:55:58 +03:00
Alexander Udalov
49c78602af
Minor, move and rename CompilerClassLoaderHolder -> KotlinAntTaskUtil
2015-06-05 15:55:56 +03:00
Alexander Udalov
8f5826793d
Ant task: warn when Ant version < 1.8.2
2015-06-05 15:55:56 +03:00
Alexander Udalov
0ad6dce7ce
Ant task: support 'failOnError' attribute in kotlinc and withKotlin
2015-06-05 15:55:54 +03:00
Alexander Udalov
6d00c265e2
Always run kotlinc in <withKotlin/> Ant task
...
This change requires withKotlin to be run with Ant of version at least 1.8.2.
Some test data changed because now compileList contains both Java and Kotlin
sources
#KT-7870 Fixed
2015-06-05 15:55:53 +03:00
Alexander Udalov
cbbf8dec7e
Drop ant-1.7 from project, advance Ant to 1.8.2
...
Ant 1.8.2 has the API (namely,
CompilerAdapterExtension#getSupportedFileExtensions) which will allow to fix a
critical bug in <withKotlin/> task (see KT-7870)
2015-06-05 15:55:52 +03:00
Alexander Udalov
9008a8b161
Fix withKotlin Ant task when no classpath is given
...
#KT-6492 Fixed
2015-06-05 15:55:51 +03:00
Nikolay Krasko
cf62e0b999
Remove internal artifacts for rr/* branches
2015-06-05 14:29:54 +03:00
Nikolay Krasko
95e4766b3e
Minor: reformat
2015-06-05 14:29:49 +03:00
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