Commit Graph

497 Commits

Author SHA1 Message Date
fitermay d0991fffd2 Fix keyword completion in 'if' blocks
#KT-17914 fixed
2017-05-22 13:54:25 +03:00
Pavel V. Talanov 1c5e7c4726 Make sure java completion doesn't suggest classes from builtIns
Fix an undesirable sideeffect of previous changes
2017-05-16 22:01:05 +03:00
Simon Ogorodnik 9a969b0449 Add basic completion for operator fun names
#KT-11250 fixed
2017-04-28 15:06:27 +03:00
Simon Ogorodnik 6e8406f73c Fix completion of 'else' keyword
#KT-14665 fixed
2017-04-25 14:44:24 +03:00
Simon Ogorodnik bd2ad6a089 Tweak keyword completion for lateinit and companion object
#KT-13673 fixed
 #KT-12293 fixed
2017-04-25 14:42:50 +03: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
Kirill Rakhman d44bf27ec3 Completion of keywords (like constructor) doesn't insert parentheses/braces if they're already there
#KT-15603 Fixed
 #KT-13524 Fixed
2017-04-13 13:41:41 +03:00
Simon Ogorodnik 439e158fb2 Fix failing test after migration to IDEA 171
BasicCompletionWeigherTestGenerated$ExpectedInfo.testPreferMatchingThis
Looks like IDEA now rearranges elements with same weight by length and
then alphabetically
2017-03-21 16:47:16 +03:00
Valentin Kipyatkov f00ab135d6 Do not insert redundant space 2017-03-20 19:08:03 +03:00
Valentin Kipyatkov 3ec28f1242 Attempt to preserve partial substitution when detecting expected type for smart completion 2017-03-20 19:08:03 +03:00
Valentin Kipyatkov b5dd2cc540 Completion of lambda parameters
Also changed policy for sorting of smart completion items in basic completion

 #KT-16800 Fixed
 #KT-12002 Fixed
2017-03-20 19:08:02 +03:00
Simon Ogorodnik 3bf7223448 Internal Kotlin packages now should be completable in parent packages
Internal packages which are hard-excluded from completion and
 imports now should be visible there if file package are parent of
 excluded one
 e.g kotlin.jvm.internal.* now visible from kotlin and kotlin.jvm
 #KT-16214 fixed
2017-03-09 19:05:10 +03:00
Ilya Gorbunov eebb820060 Do not refer to java packages in common completion tests 2017-02-22 17:28:02 +03:00
Simon Ogorodnik 2490318f93 KT-16076 Completion inserts FQN kotlin.text.String
KT-14831 Don't add import statement and FQN on converting lambda to reference if typealias is used
KT-16088 Completion wrongly inserts FQN for `kotlin` package
 #KT-16076 fixed
 #KT-14831 fixed
 #KT-16088 fixed
2017-02-13 16:48:14 +03:00
Ilya Gorbunov fee676a281 Introduce 'takeUnless' function which is like 'takeIf' but with the predicate inverted.
#KT-7858
2017-02-13 16:07:34 +03:00
Simon Ogorodnik be7158eeb2 KT-16110 Missing suspend keyword completion inside generic arguments
#KT-16110 fixed
2017-02-07 19:48:05 +03:00
Simon Ogorodnik c2ba4e3ab9 KT-14252 Completion could suggest constructors available via typealiases
#KT-14252 fixed
2017-01-31 15:14:18 +03:00
Ilya Gorbunov 38b79a51d5 Fix tests after introducing exlcusions to default imports of kotlin.js package. 2017-01-30 19:44:51 +03:00
Simon Ogorodnik d117b0210f Revert "KT-14252 Completion could suggest constructors available via typealiases"
Reverted due problems with tests
This reverts commit 55eeb74c08.
2017-01-30 16:46:38 +03:00
Simon Ogorodnik 55eeb74c08 KT-14252 Completion could suggest constructors available via typealiases
#KT-14252 fixed
2017-01-30 16:24:12 +03:00
Denis Zharkov 88b82d5fa2 Exclude coroutine inrinsics and internal packages
#KT-16018
2017-01-30 15:45:02 +03:00
Dmitry Jemerov 720da176db Exclude keywords from completion if the corresponding feature is unsupported by the language level selected for the module 2017-01-30 12:32:41 +01:00
Dmitry Petrov 77ea0614f9 Fix testData in smart completion test
(abbreviation is preserved for 'arrayListOf').
2017-01-30 10:51:47 +03:00
Simon Ogorodnik b422b0e24d KT-14722 completion list isn't filled up for typealias to object
#KT-14722 fixed
2017-01-28 21:42:39 +03:00
Simon Ogorodnik 2a08e3c679 KT-14767 typealias to annotation class should appear in the completion list
#KT-14767 fixed
2017-01-27 21:29:23 +03:00
Mikhail Zarechenskiy 462aed35d3 Don't exclude callable references with type parameters from completion 2017-01-26 14:48:37 +03:00
Simon Ogorodnik 3948c1e007 KT-15153 Support typeAlias extensions in completion and add import
#KT-15153 fixed
2017-01-25 20:47:48 +03:00
Simon Ogorodnik 4ca10c61fd KT-11308 Hide kotlin.jvm.internal package contents from completion and auto-import
#KT-11308 fixed
2017-01-25 17:39:36 +03:00
Zalim Bashorov cd04e794ee KJS: class MathClass -> object Math 2017-01-23 14:14:13 +03:00
Ilya Gorbunov 3ec48ab244 Add kotlin.comparisons package to default imports. 2017-01-19 18:21:14 +03:00
Ilya Gorbunov 07e529c8ec Fix completion test: expected appearance of 'takeIf' and 'also' 2017-01-16 09:32:17 +03:00
Denis Zharkov f611e39a69 Fix return keyword completetion tests
Now suspendOrReturn is toplevel, so we should explicitly choose "return" item
2017-01-14 13:24:53 +03:00
Simon Ogorodnik 0cf02dcb7b KT-15092 Suppress inspection "use property access syntax" for some getters and fix completion for them
#KT-15092 fixed
2017-01-12 14:53:38 +03:00
Ilya Gorbunov eb07d9407d Unexpected appearance of minOf/maxOf for T: Comparable<T> in smart completion tests 2017-01-11 14:42:36 +03:00
Ilya Gorbunov 18245c5b73 Expected appearance of minOf/maxOf for T: Comparable<T> in one of smart completion tests 2017-01-11 14:42:36 +03:00
Stanislav Erokhin ab53978793 Allowed ast access for some tests. 2016-12-16 00:57:04 +03:00
Stanislav Erokhin 5a353412e4 Fixed KeywordCompletionTests. 2016-12-15 23:58:18 +03:00
Dmitry Petrov 8e3fd0efc3 If the last argument of a function is a suspend function,
suggest trailing lambda variant in completion.
2016-12-15 23:58:14 +03:00
Dmitry Petrov a15d423db4 Support modifiers on types in parser
(required for 'suspend' on functional types).

TYPE_REFERENCE element now has MODIFIER_LIST child, which hosts annotations and modifiers for the corresponding type reference.

Annotations and modifiers written before an extension function type are now parsed as annotations and modifiers for the functional type, not the receiver type.
So, '@Ann A.(B) -> C' was '(@Ann A).(B) -> C', and became '@Ann (A.(B) -> C)'.
NB: DSL_SCOPE_VIOLATION testData updated accordingly.

Type projection variance modifiers ('in', 'out') belong to a separate modifier list under corresponding type projection (not under a type reference).
'A<in suspend T>' is 'A<(in (suspend T))>', 'A<suspend in T>' is an error.

In stub builder, create a modifier list node to host annotations and modifiers (none so far; TODO properly serialize/deserialize types with modifiers).
2016-12-15 23:57:41 +03:00
Nikolay Krasko 2bb48fc802 Allow empty single-line bodies in property accessors 2016-12-14 13:40:44 +03:00
Stanislav Erokhin 653d589f98 FIx tests after renaming platform to header. 2016-12-13 23:08:47 +03:00
Stanislav Erokhin 59efedf610 Rename platform to header. 2016-12-13 18:00:00 +03:00
Ilya Gorbunov e4ab3f3b93 Fix rendered descriptors in test data after enhancing signatures. 2016-12-08 20:34:59 +03:00
Simon Ogorodnik b93c37faa2 Added tests to prove, that KT-8547 fixed 2016-11-29 14:08:09 +03:00
Simon Ogorodnik 1a211ee7b0 Completion for fqNames in KDoc links
Tests, also proved that KT-14432 are fixed
Added completion and tests for extension functions.
2016-11-29 14:06:54 +03:00
Alexander Udalov 6e2ef9b1d2 Add platform/impl soft keywords, add isPlatform/isImpl to MemberDescriptor 2016-11-25 20:50:17 +03:00
Ilya Gorbunov d103657e07 Fix JS completion tests: remove unneeded imports, take care about type aliases looking different in completion. 2016-11-16 18:47:42 +03:00
Ilya Gorbunov e787930673 Fix completion handler tests: use tail specifier to select one of multiple completion variants (eg 'kotlin.collections.ArrayList' vs 'java.util.ArrayList').
Replace aliased types imported by default with something else.
2016-11-16 18:47:42 +03:00
Ilya Gorbunov a62cda8365 Replace types that are imported by default via typealiases such as java.util.ArrayList with something else as it conflicts now with kotlin.collections.ArrayList and has to imported explicitly. 2016-11-16 18:47:42 +03:00
Valentin Kipyatkov 9b55ad82a0 KT-14370 Completion inserts fully qualified name for any Java interface with single abstract method (SAM-interface)
#KT-14370 Fixed
2016-11-08 19:14:41 +03:00