Dmitry Petrov
f956e8d85d
Record special descriptor in REFERENCE_TARGET for type alias object
...
If a type alias is used to reference an object (companion object) as a
qualifier, record FakeCallableDescriptorForTypeAliasObject in
REFERENCE_TARGET. This tells IDE that type alias was used in the file,
thus, if it's imported, such import isn't redundant.
REFERENCE_TARGET is used mostly by IDE and by ClassifierUsageChecker,
which we also have to update to handle qualifiers with
FakeCallableDescriptorForTypeAliasObject in REFERENCE_TARGET.
Rewrite some parts of ClassifierUsageChecker for cleaner interaction.
#KT-21863 Fixed Target versions 1.2.40
2018-06-20 17:16:25 +03:00
Toshiaki Kameyama
6675d7814c
KT-14779 Inspection to replace String.format with string templates ( #1645 )
...
* Add inspection to replace String.format with string templates #KT-14779 Fixed
* KT-14779 Fixed
2018-06-20 16:23:04 +03:00
Toshiaki Kameyama
e41a34af88
KT-11850 Add nested lambdas with implicit parameters warning ( #1664 )
...
* Add `Nested lambda has shadowed implicit parameter` inspection #KT-11850 Fixed
* KT-11850 Fixed
2018-06-20 15:57:03 +03:00
Toshiaki Kameyama
1e31d24e9b
Add "Remove 'const'" quickfix for TYPE_CANT_BE_USED_FOR_CONST_VAL
...
So #KT-24815 Fixed
2018-06-19 12:48:13 +03:00
Toshiaki Kameyama
c344354395
Add quick-fix for 'is' absence in when #KT-18810 Fixed
2018-06-19 12:48:13 +03:00
Toshiaki Kameyama
2427406a8f
Add 'Change to val' quickfix for delegates without setValue
...
So #KT-13688 Fixed
2018-06-19 12:48:13 +03:00
Toshiaki Kameyama
3292137acb
"Convert lambda to anonymous function": Don't suggest in inline function
...
So #KT-24792 Fixed
2018-06-19 12:48:12 +03:00
Toshiaki Kameyama
fa58da85ee
Add indices: don't suggest if parameter is destructuring declaration
...
So #KT-22162 Fixed
2018-06-19 12:48:12 +03:00
Toshiaki Kameyama
2669193755
Use "Move to companion" quick fix for CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT
...
So #KT-22871 Fixed
2018-06-19 12:48:12 +03:00
Toshiaki Kameyama
69d2e8898a
"Main should return Unit" inspection: extend on JUnit test methods
...
So #KT-24509 Fixed
2018-06-19 12:48:11 +03:00
Toshiaki Kameyama
b5e3db1811
Lambda to reference: fix false positive for parameter' class reference
...
So #KT-22041 Fixed
2018-06-19 12:48:11 +03:00
Toshiaki Kameyama
5ad98a139d
"Redundant Companion": Don't suggest if same callable name is in use
...
So #KT-24425 Fixed
2018-06-19 12:48:10 +03:00
Alexey Sedunov
16dbc6fb4d
Extract Function: Forbid inappropriate declarations inside extractable fragment
...
#KT-20467 Fixed
#KT-20469 Fixed
2018-06-19 12:22:40 +03:00
Alexey Sedunov
f7cda61b08
Copy/Paste: Add imports for non-qualifiable callable references
...
#KT-23407 Fixed
2018-06-19 12:22:40 +03:00
Alexey Sedunov
694997651a
Override/Implement: Fix processing of unresolved types
...
#KT-17350 Fixed
2018-06-19 12:22:40 +03:00
Alexey Sedunov
ed8b4b761a
Override/Implement: Add 'actual' modifier to overrides of 'expect'
...
#KT-23106 Fixed
2018-06-19 12:22:40 +03:00
Alexey Sedunov
5f87e84966
Override/Implement: Do not insert super-call into extension body
...
Such super-calls are not are supported yet
#KT-4311 Fixed
2018-06-19 12:22:39 +03:00
Alexey Sedunov
c49eede054
Generate hashCode()/equals(): Support deep array equality
...
#KT-19102 Fixed
2018-06-19 12:22:39 +03:00
Mikhail Glukhikh
9ef89447b3
Sealed sub-class -> object: handle equals, suggest "add equals"
...
Before this commit, sealed sub-class without state was considered
a style issue.
After this commit, sealed sub-class without state AND custom equals
is considered a probable bug,
because comparison of its instances is very fragile.
Alternative fix (generate equals & hashCode by identity) is added.
2018-06-19 11:20:26 +03:00
Mikhail Glukhikh
cbec005055
Add test for KT-21710 (gutters inside library sources)
2018-06-19 10:42:36 +03:00
Mikhail Glukhikh
cbcd35e2f5
Implement Kotlin sub-classes tooltip to handle MPP correctly
...
Before this commit, Java tooltip was in use which could not
work correctly with expect / actual classes
So #KT-21011 Fixed
2018-06-14 15:42:37 +03:00
Mikhail Glukhikh
232d340118
Expect/actual companion object: set gutter on leaf element
...
May fix KT-21113
2018-06-13 19:23:40 +03:00
Mikhail Glukhikh
cfd1a54463
Do not create expect / actual gutters for primary constructor
...
So #KT-22177 Fixed
So #KT-21063 Obsolete
2018-06-13 19:19:26 +03:00
Mikhail Glukhikh
b235af0656
Can be private: correct detection of calls inside inline accessors
2018-06-13 19:17:50 +03:00
Mikhail Glukhikh
faa8d92560
Unused receiver: do not report on actual declarations #KT-24562 Fixed
2018-06-13 18:12:36 +03:00
Mikhail Glukhikh
38632c2937
Can be private: correct detection of calls inside inline function
...
So #KT-22180 Fixed
So #KT-22094 Fixed
2018-06-13 18:12:34 +03:00
Mikhail Glukhikh
a8737a1278
Can be private -> could be private (violation of naming convention)
2018-06-13 18:12:33 +03:00
Mikhail Glukhikh
88974ee32b
Can be private: simplification
...
Related to KT-22030
2018-06-13 18:12:31 +03:00
Toshiaki Kameyama
7786896e9b
Can be private: don't report when object or subclass calls the function
...
Questionable
So #KT-22030 Fixed
2018-06-13 18:12:30 +03:00
Mikhail Glukhikh
6c8276b701
Do not report "can be private" on annotated declarations #KT-24422 Fixed
2018-06-13 18:12:28 +03:00
Mikhail Glukhikh
d1155070a7
Do not report "can be private" on expect or actual declarations
...
So #KT-24374 Fixed
So #KT-24537 Fixed
2018-06-13 18:12:27 +03:00
Mikhail Glukhikh
a09f6e14a5
Do not suggest "convert to object" for sealed sub-classes with state
...
So #KT-24816 Fixed
2018-06-13 18:12:18 +03:00
Yan Zhulanow
5f43808cfd
Revert "Debugger: Fix breakpoints and stepping for inline-only function lambda arguments (#KT-23064)"
2018-06-08 19:37:20 +03:00
Yan Zhulanow
4dfcb72fa1
Print source file location/contents if possible (EA-120038)
2018-06-08 19:37:20 +03:00
Alexey Sedunov
0ea1784d33
Introduce Parameter: Add suspend to lambdas with nested suspend-calls
...
#KT-24712 Fixed
2018-06-08 14:34:23 +03:00
Alexey Sedunov
8a838ab5bb
Change Signature: Fix parameter name for kt-function overriding Java's
...
#KT-24763 Fixed
2018-06-08 14:34:23 +03:00
Alexey Sedunov
8978c4b9e8
Rename: Fix processing of references to synthetic Java properties
...
#KT-17742 Fixed
2018-06-08 14:34:23 +03:00
Alexey Sedunov
862dc76ed9
Rename: Fix processing of overriding methods with mangled names
...
#KT-24460 Fixed
2018-06-08 14:34:22 +03:00
Alexey Sedunov
eea9113d1c
Introduce Type Alias: Fix replacement of references to nested classes
...
#KT-15159 Fixed
2018-06-08 14:34:22 +03:00
Pavel V. Talanov
a8a490ea5a
Test multifile facades in mpp projects
2018-06-06 21:04:00 +02:00
Pavel V. Talanov
8185b1bf02
Test accessing file facades from java in mpp project
2018-06-06 21:03:57 +02:00
Pavel V. Talanov
1be477c816
Fix "add member" quick fix when invoked from java on common class
...
#KT-24115 Fixed
2018-06-06 21:03:56 +02:00
Mikhail Glukhikh
24008cdffb
If to when: do not add label to outer loop if not necessary
...
So #KT-24767 Fixed
2018-06-05 17:02:35 +03:00
Toshiaki Kameyama
b4962a1880
Add getter: don't suggest when property has no type or initializer
...
So #KT-24632 Fixed
2018-06-05 16:31:28 +03:00
Toshiaki Kameyama
8969e7a6e1
"Remove redundant toString": fix false positive for nested nullable
...
So #KT-24557 Fixed
2018-06-05 16:03:54 +03:00
Toshiaki Kameyama
4038d4d507
Explicit this inspection: suggest also for synthetic Java property
...
So #KT-22089 Fixed
2018-06-05 15:52:16 +03:00
Toshiaki Kameyama
6b37e40f99
Add quick-fix for type variance conflict #KT-23082 Fixed
2018-06-05 15:45:53 +03:00
Toshiaki Kameyama
ddf647ae96
Remove redundant receiver in "Change function signature" quick fix
...
So #KT-12298 Fixed
2018-06-05 15:20:18 +03:00
Toshiaki Kameyama
2c59f96ca4
Introduce "Add remaining when branches" intention #KT-23306 Fixed
2018-06-05 15:19:09 +03:00
Toshiaki Kameyama
bde9a57c9e
Don't suggest map{}.filterNotNull() -> mapNotNull{} on primitive array
...
So #KT-21556 Fixed
2018-06-05 15:18:28 +03:00