Commit Graph

7766 Commits

Author SHA1 Message Date
Andrey Uskov 1a290621b0 Minor. Update multiplatform kotlin plugin version in HMPP tests 2019-07-03 11:49:04 +03:00
Andrey Uskov 9fc60be9d8 Fix serialization of facet settings in order to read properly
settings of native platforms
2019-07-02 22:46:47 +03:00
Andrey Uskov 404ce1a8c1 Facet serialization changed in order to keep compatibility with previous
versions of Kotlin plugin
2019-07-02 22:46:46 +03:00
Andrey Uskov 8445e3a2a4 HMPP: add importing tests 2019-07-02 22:46:45 +03:00
Andrey Uskov 90187c959e Add test for 'isHMPP' flag 2019-07-02 22:41:02 +03:00
Dmitry Gridin 9316f45a5c Optimize Imports: improve tooltip information
#KT-21374 Fixed
2019-07-02 11:54:38 +07:00
Dmitry Gridin 074829bcea Import: IDE should import class from root package
#KT-21422 Fixed
2019-07-02 11:54:38 +07:00
Dmitry Gridin 148eed2a12 ShortenReferences: fix false negative for object call chain
#KT-32320 Fixed
2019-07-02 11:54:38 +07:00
Dmitry Gridin 33914a3a94 ImportMemberIntention: make more flexible based on caret position
#KT-31924 Fixed
2019-07-02 11:54:38 +07:00
Mikhail Zarechenskiy c2cf4aa2b5 [NI] Move ability to convert standalone SAM-argument under the feature
If new inference is enabled only for IDE analysis, then this feature
 will be disabled to reduce difference between new and old inference,
 but if new inference is enabled in the compiler, then this feature
 will be enabled too to preserve behavior of new inference for
 compilation

 #KT-32175 Fixed
 #KT-32143 Fixed
 #KT-32123 Fixed
 #KT-32230 Fixed
2019-07-01 12:53:33 +03:00
Toshiaki Kameyama c442d69db6 Extend selection: select just KDoc if cursor is just before the KDoc (KT-16476)
#KT-16476 Fixed
2019-06-29 20:36:55 +03:00
Toshiaki Kameyama 8afa938723 Extend selection: select escaped identifier name without backticks (KT-31499)
#KT-31499 Fixed
2019-06-29 20:36:55 +03:00
Toshiaki Kameyama bd661fcf82 Method sepatators: separate single-expression functions (KT-30782)
#KT-30782 Fixed
2019-06-29 20:36:55 +03:00
Toshiaki Kameyama 49d6bbbd6b Quick doc: fix missing line break for enum constant (KT-30985)
#KT-30985 Fixed
2019-06-29 20:36:54 +03:00
Toshiaki Kameyama fb94cb141f Add "Add constructor parameter" quick fix for NO_VALUE_FOR_PARAMETER
#KT-27353 Fixed
2019-06-27 19:19:25 +07:00
Toshiaki Kameyama e3c9134904 Add "Convert to notNull delegate" quick fix for INAPPLICABLE_LATEINIT_MODIFIER
#KT-12515 Fixed
2019-06-26 17:07:32 +07:00
Mikhail Zarechenskiy b3a05b1e0d [IDE-NI-MIGRATE] Update test-data after switching to NI 2019-06-25 15:55:47 +03:00
Dmitry Gridin 7e0db3d612 ComplexRedundantLetInspection: fix highlight for multiple line receiver
#KT-31278 Fixed
2019-06-25 14:37:04 +07:00
Dmitry Gridin b97aaf0f71 Split ReplaceSingleLineLetInspection to SimpleRedundantLet & ComplexRedundantLet
Relates to #KT-32010
2019-06-25 14:37:04 +07:00
Dmitry Gridin 8e0bbe7d4a Convert ReplaceSingleLineLetIntention to inspection & decrease severity to INFORMATION
#KT-32010 Fixed
2019-06-25 14:37:04 +07:00
Dmitry Gridin f1e2ba728f RemoveRedundantQualifierNameInspection: fix case with non-static java functions 2019-06-24 15:56:30 +07:00
Dmitry Gridin 0b16c51baf RemoveRedundantQualifierNameInspection: fix false positive
#KT-32112 Fixed
2019-06-24 15:17:10 +07:00
Dmitry Gridin a170de2c56 RemoveRedundantQualifierNameInspection: support class literal expression
#KT-32046 Fixed
2019-06-24 15:17:09 +07:00
Toshiaki Kameyama 2efbc6e914 Explicit this inspection: fix false positive with subclass and extension
#KT-27550 Fixed
2019-06-24 09:34:08 +03:00
Dmitry Gridin 66795db042 PackageDirectoryMismatchInspection: fix visibility in editor
#KT-31816 Fixed
2019-06-21 18:40:31 +07:00
Dmitry Gridin 59325900df KotlinInvalidBundleOrPropertyInspection: fix false positive for a bundle with several properties files
#KT-31359 Fixed
2019-06-21 18:40:31 +07:00
Dmitry Gridin d9808b70b6 LeakingThisInspection: fix false positives for enum class
#KT-25905 Fixed
2019-06-21 18:40:31 +07:00
Vladimir Dolzhenko efd004c997 Add j2k, nj2k performance tests 2019-06-21 13:04:08 +02:00
Dmitry Gridin 22a73bc09d ChangeFunctionSignatureFix: fix wrong result
#KT-32001 Fixed
2019-06-19 18:52:53 +07:00
Vladimir Dolzhenko 47a16cb252 Fixed and extended performance tests 2019-06-19 11:39:29 +02:00
Natalia Selezneva 414f98aa29 Implement REPL Mode for scratches
^KT-27963 Fixed
2019-06-19 11:29:14 +03:00
Natalia Selezneva a6221cf594 Refactor scratch tests: add ability to set scratch options in test file 2019-06-19 11:22:19 +03:00
Dmitry Gridin 7040639c38 Fix false positive "Not-null extension receiver of inline function can be made nullable" with operator fun invoke
#KT-25786 Fixed
2019-06-19 12:16:41 +07:00
Mikhail Glukhikh 5f896936ae Fix broken test (related to "Convert to lazy property") 2019-06-17 11:06:38 +03:00
Toshiaki Kameyama 05a132357b Lift assignment: suggest for assignment of null
#KT-30191 Fixed
 #KT-28595 Fixed
2019-06-17 11:24:28 +07:00
Toshiaki Kameyama 4b4be07942 Add Inspection for lateinit var overrides another lateinit var
#KT-30775 Fixed
2019-06-17 01:28:55 +03:00
Toshiaki Kameyama fbd992f8c7 Add intentions to convert lazy <--> ordinary property
#KT-23501 Fixed
2019-06-17 01:10:19 +03:00
Toshiaki Kameyama a2205cfc98 Add "'equals()' between objects of inconvertible types" inspection
#KT-25006 Fixed
2019-06-17 01:09:54 +03:00
Toshiaki Kameyama b650c7ab00 Add "Redundant empty initializer block" inspection
^KT-5008 Fixed
2019-06-14 12:27:21 +03:00
Dmitry Gridin c155bf680f MoveVariableDeclarationIntoWhenInspection should move caret to subject expression
#KT-31954 Fixed
2019-06-14 15:28:06 +07:00
Toshiaki Kameyama 0fad3fafa8 Replace deprecated symbol usage: fix message in case of generic parameter
#KT-8958 Fixed
2019-06-13 23:16:31 +03:00
Andrey Uskov c0bf5a6566 Import of middle HMPP target platforms is supported 2019-06-13 18:30:01 +03:00
Yan Zhulanow 12861595f5 MPP: Attach all classes/resources directories to the runtime classpath (KT-30710) 2019-06-13 17:33:24 +09:00
Yan Zhulanow bc0f10449a Kapt: Fix source root importing in MPP projects 2019-06-13 17:33:24 +09:00
Dmitry Savvinov 8df759b05c [Expect/Actual] Adjust IdeaModuleStructureOracle to old IDE Resolve
The main issue is that we have CombinedModuleInfo in old IDE Resolve,
which essentially merges platfor-modules together with its
dependsOn-parents. It conceals real module structure, which is fine for
practically all clients except for ExpectedActualDeclarationChecker.

In particular, it is nearly impossible to check expect/actual via
ModuleDescriptors, because you'll always get one and the same
'merged'-module descriptor.

So, this commit rewrites IdeaModuleStructureOracle in the following way:
- use ModuleInfos instead of ModuleDescriptor, as they allow more
fine-grained way to work with modules
- use 'unwrapModuleSourceInfo' in seemingly random places in order to
get real, non-merged moduleInfos
- carefully convert them back to ModuleDescriptors, because EADC work
with descriptors

This is still not an ideal solution. In particular, last step is flawed:
conversion back to ModuleDescriptors will always return merged
moduleDescriptor for platform-modules. There's no easy way to fix that
except for removing CombinedModuleInfo altogether, so we leave it as
known issue.

Also, there are some weird changes in testdata (again, because sometimes
we see several modules merged together), but they are mostly confusing
rather than plain incorrect.
2019-06-10 13:34:28 +03:00
Dmitry Savvinov 54b8f9da28 [Expect/Actual] Add testdata on hierarchical expect/actual matching 2019-06-10 13:34:27 +03:00
Dmitry Savvinov cac326bf4a [Expect/Actual] Adjust old testdata after changes in expect/actual
matching

This commit makes several changes in testdata:

- compiler multiplatform tests now contain newly introduced diagnostics
about AMBIGIOUTS_ACTUALS
- MultiModuleHighlighitng tests now contain proper reports about
ACTUAL_MISSING:
  - ACTUAL_MISSING should be indeed reported in them, because those
  tests don't contain dependsOn edges, only usual intermodule
  dependencies
  - This error wasn't reported here because expect/actual diagnostics in
  common module used to be reported by PlatformExpectedAnnotator, which
  had a bit flawed logic for deremining common-modules: it checked for
  presence of implementing modules. In those tests, common module has no
  implementing modules, so Annotator was returning silently
  Note that such configurations (common module without implementing
  modules) are almost impossible in real-life projects
  - After removal of PlatformExpectedAnnotator, we use
  ExpectedActualDeclarationChecker in common modules, which launches all
  checks properly
- some QuickFixMultuModuleTests now contain proper reports about
ACTUAL_MISSING. This change is also connected with
PlatformExpectedAnnotator, but now for different reason:
  - QuickFixMultiModuleTest used to check for errors in file by running
  'analyzeWithAllCompilerChecks' and inspecting returned BindingTrace.
  For common modules, there were no diagnostics about expect/actuals in
  that trace, because there were no ExpectedActualDeclarationChecker
  (and PlatformExpectedAnnotator was reporting diagnostics in ad hoc
  trace).
  - Again, now we inject EADC in common modules properly, so we see
  those errors in trace and report them in test
2019-06-10 13:34:27 +03:00
Dmitry Savvinov de2944ff43 [Misc] Fix errors checking in QuickFixMultiModuleTest
This test was checking errors *before* applying action, rather than
*after*, like all other QuickFix-tests do. This commit moves
errors-check after performing quick-fix action, and changes testdata:

- for most tests errors are simply gone (as quickfix usually fixes that
error)
- also, for implementMembersInActualClassNoExpectMember we add
'DISABLE-ERROR', similarly to
implementMembersInImplClassNonImplInheritor. This is needed because
'Implement Members'-fix created 'TODO'-calls, which are not resolved in
those tests due to the lack of stdlib. Previously, there were no errors
in this test exactly because file was checked *before* applying quickfix
(i.e. when there were no 'TODO()' in file)
2019-06-10 13:34:27 +03:00
Alexander Podkhalyuzin ea86ebf995 Do not expect that KDoc reference contains importable fqName
#KT-31768 Fixed
2019-06-07 15:25:15 +03:00
Dmitry Gridin f48640f91c Fix test for UnsafeCastFromDynamicInspection 2019-06-07 12:23:55 +07:00