Commit Graph

6935 Commits

Author SHA1 Message Date
Dmitry Savvinov 5ab79a111d Introduce 'mayHaveContract'-flag in stubs
This is needed for further commit, which supports contracts-based
smartcasts in partial body resolve mode.

NB: Stubs can be built from 3 sources:
- source code (contract presence can be checked by PSI)
- binary data (contract presence can be checked by Kotlin Metadata)
- decompiled sources

The last case is a bit of a headache, because usually bodies are omitted
in decompiled sources. To workaround it, we have to inject stubbed
contract-call in the body.
2018-07-27 16:59:24 +03:00
Alexey Sedunov 5275e19c76 Move: Do not consider type alias -> expect class change as a conflict
Given they have the same fqname

 #KT-23594 Fixed
2018-07-27 16:08:13 +03:00
Alexey Sedunov 1c30a12d95 Move: Account for implemented modules in internal access check
#KT-23590 Fixed
2018-07-27 16:08:13 +03:00
Alexey Sedunov 0406d61622 Rename: Update filenames within expect/actual set (when necessary)
#KT-23772 Fixed
2018-07-27 16:08:13 +03:00
Mikhail Glukhikh ddd3a0a46e Implement liftToExpected correctly for primary constructor properties
Before this commit, we always tried to find expect property in this case.
However, there is at least one case when we should find parameter of
expect primary constructor instead (safe delete).
So #KT-25321 Fixed
2018-07-26 18:01:42 +03:00
Mikhail Glukhikh 14d6560e67 Add modality/visibility/inline to all expect/actual declarations in QF
So #KT-25539 Fixed
2018-07-26 18:01:01 +03:00
Mikhail Glukhikh 48017a81ee Move isEquivalentTo() from KtClass to KtClassOrObject
This makes objects and companions with the same qualified name
compatible from find usages point of view
So #KT-25326 Fixed
So #KT-25438 Fixed
2018-07-26 18:00:26 +03:00
Mikhail Glukhikh 46cc773953 Test refactoring: header/impl -> expect/actual in safe delete tests 2018-07-26 18:00:21 +03:00
Mikhail Glukhikh 26b57c6250 MPP navigation / search: handle expect objects correctly #KT-25317 Fixed 2018-07-26 18:00:18 +03:00
Toshiaki Kameyama 4d1b8405cb "Suspicious ==/===": do not report when comparison with null is included
So #KT-24001 Fixed
2018-07-25 16:15:59 +03:00
Toshiaki Kameyama 9e83506c02 Introduce intention: trimMargin <--> trimIndent #KT-25056 Fixed 2018-07-25 12:30:00 +03:00
Nikolay Krasko 7b6df0a7cc Don't delete unresolved imports in cleanup inspection (KT-25678)
It looks like they were deleted because of the bug in search for deprecated
imports search.

 #KT-25678 Fixed
2018-07-24 17:09:14 +03:00
Mikhail Glukhikh cc1d9e88d5 1.3 migration: make inspections working for non-experimental coroutines 2018-07-24 10:24:18 +03:00
Toshiaki Kameyama 88a5eb24d5 "Convert lambda to reference": fix case with companion object
So #KT-24385 Fixed
2018-07-23 18:21:38 +03:00
Toshiaki Kameyama 0ae2054af4 "Replace if with when": do not add empty else block #KT-18681 Fixed 2018-07-23 18:21:37 +03:00
Toshiaki Kameyama 3e207fd6b2 Move lambda out: don't apply to multiple/default functional parameters
So #KT-24694 Fixed
2018-07-23 18:21:37 +03:00
Toshiaki Kameyama a9c91099a4 Correct "Redundant override" inspection message #KT-25608 Fixed 2018-07-23 18:21:37 +03:00
Simon Ogorodnik b58e35a3e5 173: Revert changes for IDEA < 181 2018-07-20 18:41:24 +03:00
Simon Ogorodnik c608395c7c KT-22815: Update testData 2018-07-20 18:41:11 +03:00
Simon Ogorodnik 9ec0ce6ec8 KT-22815: Show documentation for function value/type params 2018-07-20 18:41:08 +03:00
Simon Ogorodnik e4d76382b8 KT-22815: Update testData for quick documentation 2018-07-20 18:41:04 +03:00
Simon Ogorodnik 33a6721270 KT-22815: Update quick-doc testData 2018-07-20 18:40:21 +03:00
Dmitry Petrov acf0bb349c Update testData for restricted expression annotations retention 2018-07-20 10:39:51 +03:00
Denis Zharkov f72aa78eec Fix libraries analysis for case of isReleaseCoroutines feature enabled
#KT-25466 In Progress
2018-07-19 16:19:04 +03:00
Nikolay Krasko 481c428881 Add version replace fix for kotlinx coroutines in Gradle (KT-25251)
#KT-25251 In Progress
2018-07-19 16:09:57 +03:00
Dmitry Savvinov 76c651421b Deprecate visibility of static members inherited from Java
Now they are not visible by short name through companion objects, just
like classifiers in KT-21515

^KT-25333 In progress
2018-07-19 13:32:38 +03:00
Mikhael Bogdanov 56c535d505 Fix test data 2018-07-19 10:52:13 +02:00
Dmitry Petrov a457a9f870 Update testData for IDEA tests for annotations with target EXPRESSION 2018-07-18 15:56:11 +03:00
Denis Zharkov cc2280b95b Fix test data after 89d99e3989 2018-07-18 11:14:46 +03:00
Yan Zhulanow a4b3653e1c Debugger: Navigate to the right file in MPP projects (#KT-25152, #KT-25147) 2018-07-17 20:54:29 +03:00
Nikolay Krasko f9de91016a Inspection for experimental coroutines imports migration (KT-25251)
#KT-25251 In Progress
2018-07-17 02:22:14 +03:00
Nikolay Krasko 5b34498162 Do not report code style warnings on overridden declarations (KT-25416)
#KT-25416 Fixed
2018-07-17 02:22:14 +03:00
Alexander Udalov f766b2c473 Improve "optimize imports" behavior on default imports
Optimize imports to classes when there's an import of a type alias to
that class with the same name. This results in "java.lang.*" imports
being optimized in favor of the corresponding type aliases in "kotlin.*"
which are imported by default
2018-07-16 13:45:11 +02:00
Yan Zhulanow a2fdf7d47d Evaluator: Support when expressions (EA-119639) 2018-07-12 20:36:41 +03:00
Yan Zhulanow 115356b990 Eval4J: Do not report certain kinds of exceptions to EA 2018-07-12 20:36:40 +03:00
Yan Zhulanow e958a9771f Extract refactoring: Make an extracted function 'inline' if any of its type parameters are reified (#KT-23983) 2018-07-12 20:36:38 +03:00
Nikolay Krasko b51880332e Migration inspection for fromClosedRange() call (KT-17176)
#KT-17176 Open
2018-07-11 14:25:24 +03:00
Natalia Selezneva 5741f81f25 Fix AbstractScriptConfigurationTest
Add dependency on script runtime for module.
Provide default test script template thought template-classpath.
2018-07-10 08:43:52 +02:00
Natalia Selezneva 790188120a Add LightProjectDescriptor with script-runtime dependency. Use it in PsiChecker tests. 2018-07-10 08:43:52 +02:00
Dmitry Savvinov 2783e9939b Fix internal-visibility mangling in IDE
Collect module name properly from facets settings, using CLI arguments
which define module name ('-module-name' on JVM and Common,
'-output-file' on JS).

^KT-23668 Fixed
2018-07-09 18:50:50 +03:00
Mikhail Zarechenskiy c032a02373 Prohibit assigning single elements into varargs in named form
#KT-20588 Fixed
 #KT-20589 Fixed
2018-07-06 15:23:31 +03:00
Denis Zharkov 0d00eb7de3 Add postfix template for listOf/setOf/etc
#KT-25239 Fixed
2018-07-06 10:06:56 +03:00
Denis Zharkov 6f4aa2296d Implement quickfix wrapping elements in collection literal calls
#KT-25238 Fixed
2018-07-06 10:06:56 +03:00
Mikhail Zarechenskiy 5869274ff1 Disable errors in mod/rem tests that depend on language feature
Otherwise these tests will fail with LV=1.3
2018-07-05 12:59:43 +03:00
Alexander Podkhalyuzin 7ee055fccc Merge pull request #1745 from JetBrains/rr/suppressor
Introduce KotlinInspectionSuppressor
2018-07-03 14:37:39 +03:00
Alexey Sedunov b52b07ec79 Test Support: KT-22306
Do not show run markers in JS modules when no relevant run configurations are available

 #KT-22306 Fixed
2018-07-02 19:15:52 +03:00
Alexey Sedunov 22d74276a0 Misc: Configure stdlib in failing tests 2018-07-02 19:08:10 +03:00
Mikhail Zarechenskiy 2e88f5c47d Prohibit operator mod as declaration and calls that resolved via it
#KT-24197 Fixed
2018-07-02 16:12:36 +03:00
Mikhail Glukhikh 537655a4c2 KotlinInspectionSuppressor: introduce more precise quick-fix names
Related to KT-11154, KT-25169
2018-06-29 11:58:28 +03:00
Mikhail Glukhikh a51bda64dc Add a pair of tests for KT-11154 2018-06-29 11:44:48 +03:00