Commit Graph

14580 Commits

Author SHA1 Message Date
Alexey Sedunov fd41e266fb Quick Fixes: Add/remove 'suspend' in hierarchy
#KT-15903 Fixed
2017-04-24 14:55:37 +03:00
Dmitry Jemerov 5315f4d9da Initial implementation of rainbow highlighting for Kotlin
#KT-12629 Fixed
2017-04-22 13:45:36 +02:00
Nikolay Krasko 4d0b88e34b Minor: use 'Searching for' instead of 'Searching' 2017-04-21 15:12:08 +03:00
Nikolay Krasko 666ecdb7d6 Don't iterate through classes for Scala and Clojure 2017-04-21 15:12:08 +03:00
Nikolay Krasko 111f0b1e66 Avoid full references search for languages without PsiClass (KT-14974)
Make smart type search work for Groovy.

 #KT-14974 Fixed
2017-04-21 15:12:07 +03:00
Nikolay Krasko 102310e3c2 Skip references for invoke when number of arguments in psi is wrong 2017-04-21 15:08:52 +03:00
Nikolay Krasko d3ff8c12a4 Use dialog wrapper for controlling behaviour from tests
Known issue: can't use same approach for modifying Java dialogs
behaviour
2017-04-21 15:08:40 +03:00
Mikhail Glukhikh 247a571f51 Add test for multi-platform find usages #KT-15665 Obsolete
+ perform minor AbstractFindUsagesTest refactoring
2017-04-21 14:26:41 +03:00
Dmitry Jemerov 7346fee513 Quickfix to enable coroutine support works in Maven projects
#KT-17521 Fixed
2017-04-21 13:20:49 +02:00
Dmitry Jemerov aabd560eef Quickfix to enable language feature works for Maven project
#KT-17520 Fixed
2017-04-21 13:20:48 +02:00
Dmitry Jemerov f389dc068c Import project configuration specified as Maven properties
#KT-17517 Fixed
2017-04-21 13:20:47 +02:00
Dmitry Jemerov 2fd290567c Remove unnecessary use of API which is not intended for clients 2017-04-21 13:20:46 +02:00
Dmitry Jemerov 34b5920225 Fix order of files with fixed data 2017-04-21 13:20:45 +02:00
Dmitry Jemerov 37d5a42b53 Delete some dead code which also happens to crash on test startup 2017-04-21 13:20:44 +02:00
Dmitry Jemerov 794a21aa9c Set default jvmTarget when configuring Kotlin with default configurator 2017-04-21 13:20:34 +02:00
Dmitry Jemerov 98903d4e39 Set default jvmTarget in new JPS projects 2017-04-21 13:20:33 +02:00
Dmitry Jemerov 79f228153c Set default jvmTarget when configuring Kotlin with Maven 2017-04-21 13:20:32 +02:00
Dmitry Jemerov 08dda665aa Ensure that idea-maven tests run on TeamCity 2017-04-21 13:20:31 +02:00
Dmitry Jemerov 372a65570c Set default jvmTarget when configuring Kotlin with Gradle 2017-04-21 13:20:30 +02:00
Dmitry Jemerov 1da1fcceb7 KotlinGradleModuleConfigurator: J2K 2017-04-21 13:20:30 +02:00
Dmitry Jemerov d4b0e85963 KotlinGradleModuleConfigurator: rename to .kt 2017-04-21 13:20:29 +02:00
Dmitry Jemerov 948699a24b Set default jvmTarget when creating new Gradle project
jvmTarget "1.8" is required to be able to use inline functions from
kotlin-stdlib-jre8.
2017-04-21 13:20:28 +02:00
Dmitry Jemerov d3682025cb Reuse repository selection logic in KotlinMavenConfigurator 2017-04-21 13:20:27 +02:00
Alexey Sedunov f575e2710f Move: Fix processing of implicit extension 'invoke' calls
Also fix bogus "unused import" inspection reported on such calls

 #KT-17496 Fixed
2017-04-21 13:32:34 +03:00
Alexey Sedunov c492f339e6 Quick Fixes: Fix AssertionError on rendering type parameter
#KT-17404 Fixed
2017-04-21 13:32:33 +03:00
Alexey Sedunov b80fbe1192 Change Signature: Avoid creating parameters from scratch
#KT-15519 Fixed
2017-04-21 13:32:32 +03:00
Alexey Sedunov c305a42128 Convert Receiver to Parameter: Place new parameter at the start
This affects editor template only since Change Signature already
puts converted receiver at the parameter list start by default

 #KT-15543 Fixed
2017-04-21 13:32:31 +03:00
Alexey Sedunov 6f984d8260 Gradle Support: Do not create facet for module without kotlin plugin
#KT-17265 Fixed
2017-04-21 13:32:30 +03:00
Denis Zharkov e4cb5496b8 Optimize getSingleAbstractMethodOrNull
Searching for the single abstract method leads to computing
whole member scopes of given intrefaces, especially when
they contain a lot of methods (i.e. they're definitely not SAMs)

On the other side this method is very hot because it's called
for each Java interface used as a type for some value parameter
(for building SAM adapters)

The idea is to apply some heuristics to understand using only
JavaMethod and supertypes that this interface is definitely not a SAM
2017-04-21 12:48:31 +03:00
Alexander Udalov ea727ff3f0 Use header->impl mapping in HeaderImplDeclarationChecker.areCompatibleTypes
Construct a special TypeCheckingContext that is aware of the magic
behind the "impl typealias" that implements a "header class"

 #KT-16986 Fixed
2017-04-20 22:33:25 +03:00
Alexander Udalov 1ce4612f74 Refactor module usages in HeaderImplDeclarationChecker
Instead of a vague name "moduleToCheck", use explicit names
"commonModule" and "platformModule".
2017-04-20 22:13:32 +03:00
Alexander Udalov a2e050a3b9 Use correct function to find header for impl in IDE
Also do not call isHeader/isImpl because the returned declarations are
guaranteed to be isHeader in findCompatibleHeaderForImpl and isImpl in
findCompatibleImplForHeader
2017-04-20 22:13:32 +03:00
Alexander Udalov af4f96fb52 Refactor HeaderImplDeclarationChecker
Build the compatibility map when looking for header given an impl, in
the same way as it's done for the search of impl given a header. The map
is mostly unused now (only its value at key=Compatible is used), but
will be used in the future to improve the diagnostic messages here
2017-04-20 22:13:32 +03:00
Simon Ogorodnik 4978a204f0 Make LibraryDependenciesCache cache again!
#KT-17495 fixed
2017-04-20 20:23:11 +03:00
Mikhail Glukhikh 99653b9afc Refactoring: merge doTest in AbstractMultiModuleHighlightingTest 2017-04-20 19:13:20 +03:00
Mikhail Glukhikh 266d36f289 Refactoring: rename header to common in MultiModuleLineMarkerTest 2017-04-20 19:12:13 +03:00
Mikhail Glukhikh 3a1866b405 Refactoring: introduce doTest in MultiModuleLineMarkerTest 2017-04-20 19:12:11 +03:00
Alexander Udalov aee5326ca7 CLI: refactor argument validation out of parsing 2017-04-20 16:20:54 +03:00
Zalim Bashorov 2f4119a8ae KJS: remove obsolete code related to Unit testing 2017-04-20 16:19:06 +03:00
Vyacheslav Gerasimov dcae66a727 Add quickfix for INAPPLICABLE_JVM_FIELD
replaces with 'const' when possible

#KT-10981 Fixed
2017-04-20 12:10:20 +03:00
Vyacheslav Gerasimov 199bff7e70 Add quickfix for 'Illegal inline parameter modifier'
Adds inline to function if crossinline is used on parameter

#KT-14046 Fixed
2017-04-20 12:09:53 +03:00
Dmitry Jemerov d001cea4c3 Fix tests: add ACTION tags for newly added actions 2017-04-20 11:02:40 +02:00
Simon Ogorodnik 02fec6e4a5 Add fine check of type inference when adding <> in completion
Add check if type inferred via type parameter of upper bound
 of extension receiver or value argument
 #KT-16161 fixed
2017-04-19 21:27:31 +03:00
Zalim Bashorov 2c69198926 Make return type of KotlinScriptDefinitionProvider.getInstance nullable
For example service can be absent in Kotlin JS only compiler.
2017-04-19 20:18:20 +03:00
Mikhail Glukhikh 8fdb611e3b Do not try to inline properties from decompiled files
This removes GUI freeze for library properties #KT-17234 Fixed
2017-04-19 18:27:29 +03:00
Mikhail Glukhikh 6571a573f1 Use correct callElement for variable invoke in replacer
Check only 'status.isSuccess' before inlining, no descriptor check
Add two tests and fixes two other
2017-04-19 18:27:27 +03:00
Mikhail Glukhikh 4ef0096d46 Refactoring: inline val / fun now use the common inliner
This prevents their inconsistent work in some situations
NB: breaks three tests if used alone
2017-04-19 18:27:26 +03:00
Mikhail Glukhikh e6fa7356e1 Inline: support compound case without containing block #KT-17296 Fixed 2017-04-19 18:27:25 +03:00
Mikhail Glukhikh ade838bff2 Inline fun: remove recursion inside includesCallOf
Probably #KT-17330 Fixed
2017-04-19 18:27:24 +03:00
Mikhail Glukhikh 91f7f19902 ExpressionReplacementPerformer: handle string templates accurately 2017-04-19 13:12:59 +03:00