Commit Graph

1132 Commits

Author SHA1 Message Date
Roman Golyshev 3112d70420 KT-35042 Fix InsertHandlerProvider.kt to work with suspend functional parameters
- ^KT-35042 Fixed
- Also, fix review suggestions for KOTLIN-CR-3495
2019-11-29 14:55:22 +03:00
Roman Golyshev 6f234beb9c KT-34414 Make sure completion for suspend functional parameters works too
- Replace `isFunctionType` with `isBuiltinFunctionalType` where it is relevant
- ^KT-34414 Fixed
2019-11-29 14:55:21 +03:00
Roman Golyshev faf4c05fc8 KT-34644 Give return keyword more priority in completion where appropriate
- See `returnExpressionItems::returnIsProbableInPosition` to get an idea where return is supposed to be more appropriate
  - End of the block (except for top level block of unit function or cycle) or as single expression in if or when
  - Right side of the elvis operator (which is not already in return)
- Add additional `probable_keyword` weigher to signalize about probable keyword (for now it is only for `return`)
- ^KT-34644 Fixed
2019-11-26 11:56:32 +03:00
Roman Golyshev de11b4cb64 KT-34644 Refactor CompletionUtils::returnExpressionItems
- Collecting `return` lookups to `blockBodyReturns` will later allow to modify them to increase priority in the completion
2019-11-26 11:56:19 +03:00
Yan Zhulanow 2983c87212 EA-215308: Fix unsafe check casts in template entry handling 2019-11-25 17:26:29 +09:00
Yan Zhulanow f91a84872a EA-216299: fix SIOOBE in completion 2019-11-25 17:26:28 +09:00
Nikolay Krasko 394a812329 Re-mute completion tests (KT-32919) 2019-11-22 22:12:37 +03:00
Roman Golyshev 633005fb57 KT-25732 Perform keywords completion earlier to complete them before freeze
- If you complete keywords too late, the completion list may become frozen, and `null` will never make it to the top of it
- Remove `flushToResultSet` between `addReferenceVariantElements` calls because flush already happens inside of them
- ^KT-25732 Fixed
2019-11-14 19:50:38 +03:00
Toshiaki Kameyama 4d9b19da82 Remove comments from function/property implementation template
#KT-18539 Fixed
2019-11-13 08:37:25 +09:00
Alexander Udalov f7ef16d2d5 Regenerate tests
This fixes project compilation after incorrect merge of
da4097f4/e89a87b2 and 4ed64b02
2019-11-09 00:42:10 +01:00
Roman Golyshev e89a87b2e3 KT-29926: Support completion of suspend lambda body and parameters
- ^KT-29926 Fixed
2019-11-08 19:24:05 +03:00
Roman Golyshev da4097f488 KT-29926: Support completion of suspend lambda parameters in the body
- `suspendLambdaSignature` directory is just a copy of `lambdaSignature`
2019-11-08 19:24:05 +03:00
Roman Golyshev 84b9044187 KT-29926: Get rid of filterFunctionExpected
- `filterFunctionExpected` does not provide meaningful concept, and will be a problem in the next steps on this issue.
- Refactor `SmartCompletionSession::descriptorKindFilter` to more precisely tell why we include references to constructors if we are completion functions
2019-11-08 19:24:05 +03:00
Alexander Podkhalyuzin d2ae39489f SmartPointers in Smart Completion for anonymous object generation
#KT-32615 Fixed
2019-11-05 17:51:34 +03:00
Roman Golyshev 28ec74648e Use ML completion extension point from 193 platform
- completion-ranking-kotlin jar used to be in the IDEA itself; thanks to new extension it can reside in the plugin from now on
- ML completion is turned off by default
- use `implementation` dependency because `completion-ranking-kotlin` is required during runtime
2019-10-31 13:37:38 +03:00
Nikolay Krasko 7e5316b9f1 Fix completion test for Java in 193
It looks like java completion doesn't use () anymore.
2019-10-31 11:11:50 +03:00
Vladimir Dolzhenko 4b2834c4a8 Provide incremental analysis of a file when it is applicable
#KT32868 Fixed
2019-10-30 21:41:29 +01:00
Nikolay Krasko 7160653546 Fix KotlinConfidenceTest in 193 2019-10-29 13:47:14 +03:00
Roman Golyshev 3661dedacf KT-31762: Fix completion in enum entries constructors
- The issue was caused by incorrect parsing of enum entry because of `$` in the `KotlinCompletionContributor::DEFAULT_DUMMY_IDENTIFIER`
  - Incorrect parsing caused arguments next to completed one to be recognized as another enum entries
- Change `KotlinCompletionContributor::isInClassHeader` to accept classes without bodies, so identifier without `$` is used inside enum entries constructors
- ^KT-31762 Fixed
2019-10-29 12:35:13 +03:00
Nikolay Krasko 4ed64b0283 Regenerate tests with TargetBackend.ANY remove and using runTest with this 2019-10-23 12:49:48 +03:00
Vladimir Dolzhenko 30229da95a Don't render pure error types in OverrideMemberChooserObject
#KT-34379 Fixed
2019-10-21 17:18:23 +02:00
Roman Golyshev 6560ecc82b KT-15286: Provide object member extensions in the completion
- Add extensions only when completion of static members is enabled (double ctrl + space and nonempty prefix)
- Add full import for callables with receiver in `LookupElement.decorateAsStaticMember`
2019-10-18 17:17:28 +03:00
Dmitry Gridin bf7c325f43 Completion: should prefer ShortenReferences by elements instead of text range 2019-10-16 15:59:47 +07:00
Dmitry Gridin 2d43d71727 CompletionUtils: cleanup code 2019-10-16 15:59:47 +07:00
Vladimir Dolzhenko 55548d9199 Use test path relative to testDataPath in fixture.configureByFile to be complaint with 193, part 3 2019-10-09 07:34:25 +02:00
Vladimir Dolzhenko cd32c06df8 Don't grab ref to DeclarationDescriptor into LookupElement, KT-33898 2019-10-08 12:48:33 +02:00
Vyacheslav Gerasimov dad9958adf 193: Fix test fixture configuration
Path to test data file should be relative to test data directory
2019-10-04 17:04:54 +03:00
Nikolay Krasko 030aaee117 Mute completion tests (KT-32919) 2019-10-03 12:24:46 +03:00
Nikolay Krasko 343502125b Rename ResolveInWriteActionManager -> ResolveInDispatchThreadManager 2019-10-02 15:58:44 +03:00
Nikolay Krasko 2ec231f381 Minor: fix CompletionMultiFileHandlerTest test 2019-09-30 13:38:27 +03:00
Vladimir Dolzhenko 3e2dac6586 Use test path relative to testDataPath in fixture.configureByFile to be complaint with 193 2019-09-29 09:45:42 +02:00
Dmitry Gridin c185cecb40 Completion: fix shortening of fully qualified name for case of conflicts between property and function
#KT-31902 Fixed
#KT-33937 Fixed
2019-09-27 17:52:11 +07:00
Alexander Podkhalyuzin 9a2da67919 ShortenReferences: cleanup code & add tests for property-function conflicts 2019-09-27 17:52:11 +07:00
Roman Golyshev 0239229dfc KT-33903: consider imports from objects when removing descriptors duplicates
- `ImportedFromObjectCallableDescriptor` and descriptors in general do
not have consistent `equals`,  which leads to duplication in completion
when multiple functions from objects are imported, or when function is
visible in some scope both implicitly and by import (see KT33903_1.kt)
- ^KT-33903 Fixed
2019-09-26 18:23:04 +03:00
Alexander Podkhalyuzin cdebd6bc05 Fixed testdata as Enter shouldn't override completion 2019-09-26 16:25:50 +03:00
Alexander Podkhalyuzin d018489621 Fixed testdata
JS stdlib contains more classes now, so we need to filter them out
2019-09-26 16:25:50 +03:00
Nikolay Krasko f00d609459 Fix KotlinConfidenceTest tests 2019-09-25 14:06:36 +03:00
Vyacheslav Gerasimov d54bc3a4bb 193: Fix tests compilation for 193 platform 2019-09-24 18:22:35 +03:00
Dmitry Gridin 5dddc464a5 Completion: add tests for case with overloaded function with lambda with receiver parameter
Relates to #KT-31073
2019-09-23 23:20:26 +07:00
Roman Golyshev b422485440 KT-30996: Use the last receiver to complete dsl methods
- change `detectReceiverTypes` return type to `List` instead of `Collection`
  - it reflects that receiver types are actually ordered
  - did not propagate signature changes to all possible places because it creates too much noise in git history
- ^KT-30996 Fixed
2019-09-13 15:52:52 +03:00
Roman Golyshev 9a938b07ba KT-17689: Fix TypeAliasQualifier to provide enum entries descriptors
- this adds enum entries to the completion on the typealiases
- we cannot use `unsubstitutedInnerClassesScope` instead of `EnumEntriesScope` because it allows to complete things that are not allowed to be resolved by the Kotlin compiler; see `EnumEntriesScope` doc for details
- ^KT-17689 Fixed
2019-09-06 12:11:23 +03:00
Nikolay Krasko edb700b898 Switch to 192 platform 2019-09-06 11:28:25 +03:00
Dmitry Gridin a843c23f20 Completion: add root prefix support
#KT-10340 Fixed
2019-09-05 18:01:23 +07:00
Dmitry Gridin 7a4c3e4d6a BaseDeclarationInsertHandler: fix startOffset 2019-09-05 18:01:23 +07:00
Anton Yalyshev e904e638e9 LookupCancelWatcher bunches update 2019-09-01 08:22:40 +03:00
Anton Yalyshev 7b769b74a1 Add bunches for AS ans 183 2019-09-01 08:22:39 +03:00
Anton Yalyshev a962dd7155 Add a bunch for as33 2019-09-01 08:22:38 +03:00
Alexander Podkhalyuzin ac7c89b3b5 Completions stats physical part, collector part left
#KT-33090 Comment
2019-09-01 08:19:35 +03:00
Nikolay Krasko ddcadc8138 Remove default implementations after removing 182
#KT-33536 Fixed
2019-08-30 12:14:12 +03:00
Nikolay Krasko 23f488498f Remove EditorFactoryListenerWrapper compat after removing 182
#KT-33536 Fixed
2019-08-30 12:14:01 +03:00