Commit Graph

23145 Commits

Author SHA1 Message Date
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
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