Tagir Valeev
b570d27cf3
IDEA-229893 Adapt dataflow analysis to recognize patterns
...
GitOrigin-RevId: 12f13bb4d2ae8f077ed152f4f0a5adeb463ae419
2019-12-27 09:01:34 +00:00
Tagir Valeev
3fc9bf9589
PsiUtil#isJvmLocalVariable
...
GitOrigin-RevId: 39baed9559ca58e00c405eec5fe57be1f3c6384f
2019-12-27 09:01:34 +00:00
Tagir Valeev
0780fec47a
Better handling of impossible types
...
GitOrigin-RevId: ba59ab5a6b90fb4a73eb69f2b45a294fc331a18a
2019-12-26 05:03:53 +00:00
Tagir Valeev
4bd6f5a43b
Use CommonQuickFixBundle
...
GitOrigin-RevId: 742c76ffb768bed2ce9aec4b11f7fc911d7f624c
2019-12-25 03:42:32 +00:00
Tagir Valeev
7e913388ea
PushValueInstruction; reduced factory dependency in ControlFlowAnalyzer
...
GitOrigin-RevId: 1fe9ec48873ac912741a820113095689715835ce
2019-12-24 09:33:30 +00:00
Tagir Valeev
338430777b
SpecialField#asDfType accepting exactResultType
...
GitOrigin-RevId: 9b3989dc283ae8f67b8fb0e170991b9a38115c97
2019-12-24 08:41:04 +00:00
Tagir Valeev
507c217a72
CustomMethodHandlers#substring minor refactoring
...
GitOrigin-RevId: 341a61975ae09b26d0bf8d45b76b24c8558edbb6
2019-12-24 08:41:04 +00:00
Tagir Valeev
40c529350a
TypeConstraints.ExactArray: missing hashCode added
...
GitOrigin-RevId: f33d03f76e0b8983b38027d3f539dea8b7759b07
2019-12-24 08:41:04 +00:00
Tagir Valeev
a56ada227c
TypeConstraints.Unresolved: hashCode implemented
...
GitOrigin-RevId: 3aec074ee16a369b60f2c457e60acf898edcd80a
2019-12-23 13:34:18 +00:00
Tagir Valeev
9c06b973a4
IDEA-229498 Expect warning from "Constant conditions & exceptions" when unbox @Nullable
...
GitOrigin-RevId: 7cbdb09cfedc23c73fa35841b9fd7fa53f1bd969
2019-12-23 07:32:22 +00:00
Tagir Valeev
5d5ba9e0ef
TypeConstraint: minor fixes and simplifications
...
GitOrigin-RevId: f1a5c38d1af22d1cc64e0a7a1bae2d67f396ffa5
2019-12-22 09:33:38 +00:00
Tagir Valeev
79728cf999
DfaMemoryStateImpl: applyGetClassRelation simplified and inlined
...
GitOrigin-RevId: 4f8764c3bf292da4e51c3fd551fe787a55559255
2019-12-22 09:33:38 +00:00
Tagir Valeev
a8e4cd8462
Contract inference: avoid inference of "_ -> param1" contract when primitive conversion takes place
...
GitOrigin-RevId: 45d14c16892297858e33d6bf1dd4822a373577ff
2019-12-22 08:42:08 +00:00
Tagir Valeev
1ddf0f9e38
DfaUtil#isComparedByEquals inlined
...
GitOrigin-RevId: e3854b23708fbe6d12909ca5143a58e549af0c71
2019-12-22 08:42:08 +00:00
Tagir Valeev
cbe2eb0d8f
DfaMemoryStateImpl#shouldCompareByEquals: do not perform redundant conversion to PsiType
...
GitOrigin-RevId: f5923da63184c136a5750b514163155e2870efda
2019-12-22 08:42:08 +00:00
Tagir Valeev
6e2f8fab60
TypeConstraint.Constrained.getPsiType fixed for unresolved types
...
GitOrigin-RevId: 911d40176b49d20d3314225eb173166e2c266b00
2019-12-22 08:42:08 +00:00
Tagir Valeev
8691569a6f
DfaMemoryState#castTopOfStack moved to StandardInstructionVisitor and made private
...
GitOrigin-RevId: e17486569a2472b4b36563209f8ee40bb2ba0b48
2019-12-22 08:42:08 +00:00
Tagir Valeev
d7b90a0272
Javadocs, cleanup, minor fixes, DfaValueFactory#createDfType -> DfTypes#typedObject
...
GitOrigin-RevId: 7ef0916c047440371a0dfc18778bd4a08c7842fa
2019-12-22 08:42:08 +00:00
Tagir Valeev
fbc82fc76f
DfaPsiType removed; TypeConstraint#Exact now serves as DfaPsiType
...
No factory dependency in TypeConstraint and DfType anymore
GitOrigin-RevId: 2519a6ae131af2f80ef00e867c255bbbf46f477a
2019-12-22 08:42:08 +00:00
Dmitry Batkovich
d9b6464592
add diagnostic to npe
...
GitOrigin-RevId: 01676a6f483b2fd1b0aa987d7f698e1a536dc3e1
2019-12-20 09:38:45 +00:00
Tagir Valeev
36544a4dd2
TrackingRunner: remove DfaFactType/DfaFactMap usages; remove deprecated classes
...
GitOrigin-RevId: 02b1ba8397cdffe3d8b20a0f07ad08c0a8923c76
2019-12-20 02:11:48 +00:00
Tagir Valeev
b07da278d4
DfaMemoryStateImpl: added instanceof check
...
GitOrigin-RevId: 9bd5de63ec99ef76a0b731b020825ea3d1734689
2019-12-19 06:33:37 +00:00
Tagir Valeev
62c68622f1
computeValue moved to CommonDataflow
...
GitOrigin-RevId: d0b0c9f10eda163f6fd3e7328d942422b6261895
2019-12-18 04:34:21 +00:00
Tagir Valeev
2c22ee32a7
IDEA-229320 Heap pollution warning for records
...
GitOrigin-RevId: 1e870db7c171c02af5d01c74ca631ab2dafe43ef
2019-12-17 11:02:18 +00:00
Tagir Valeev
5cd808158d
DfaUtil#computeValue: fixed for parenthesized expressions
...
GitOrigin-RevId: bebef77858634361021675458cf533f4f76eeb49
2019-12-17 05:32:13 +00:00
Tagir Valeev
745a58a701
Contract checker: allow convertible (but not assignable) conversions for paramX contracts
...
Class.cast(Object) is already externally annotated as "_ -> param1". Were this in the source we would issue a warning, because T is not assignable from Object.
Fixes IDEA-229184 @Contract falsely report warning for methods that contain unchecked casts
GitOrigin-RevId: 404b103733fcc1d0803222fe2898fde87085383a
2019-12-17 04:42:17 +00:00
Tagir Valeev
b56a1fc16d
LongRangeSet#modRange: avoid possible overflow in loop condition
...
GitOrigin-RevId: 99cfa7ec2aebe38bf21e350ad5f85413167b0986
2019-12-17 03:05:11 +00:00
Sergey Patrikeev
7915d08945
KT-35296 (followup): False positive "Suspicious package-private inspection" on empty package-private super-constructor.
...
GitOrigin-RevId: 5746d2a69c3f3e8395e4479c8d2707dc5d85d211
2019-12-16 12:05:21 +00:00
Tagir Valeev
ba6bfe8b67
DfaUtil: remove unused code
...
GitOrigin-RevId: 3c5bbed70263aa1031a07c6040369677a6f0d28a
2019-12-16 08:02:52 +00:00
Tagir Valeev
a6e017ef0e
DFA: do not report explicit Boolean.TRUE/Boolean.FALSE as always true/false
...
GitOrigin-RevId: ad6eeba399d80a343ca87fd2fc11539a22331c9e
2019-12-16 05:02:46 +00:00
Tagir Valeev
916cc45005
Constant methods: boxing support
...
GitOrigin-RevId: 6fa28da7fe823d2e5bea0ecabe1e49e34e55d7b6
2019-12-14 03:44:42 +00:00
Peter Gromov
0080177eca
prohibit TestOnly & VisibleForTesting on a single method
...
because it makes little sense but confuses the inspection and important warnings are missed
GitOrigin-RevId: c4f52ee3089219bca922ed39886ef2b6ed530d8c
2019-12-13 13:09:23 +00:00
Anna.Kozlova
f9f5d09f87
inspections: ensure local paired inspection uses display name of the global one
...
GitOrigin-RevId: 8dfb2236e2ae4016024102e8195e5ce0df954500
2019-12-13 09:34:22 +00:00
Tagir Valeev
142edc7af7
calcMutability private
...
GitOrigin-RevId: c5dda37c107d0024e1d2efef58af773c79b44b16
2019-12-13 08:13:41 +00:00
Tagir Valeev
de0807647c
Boolean.parseBoolean: constant call
...
GitOrigin-RevId: 5e6e2da08a3a843553fac4f11226aad7327e6047
2019-12-12 11:34:54 +00:00
Tagir Valeev
64ed84238f
DfReferenceConstantType: fix meet
...
GitOrigin-RevId: 14e417a30e65c49acc765f82d97d924ae988a6ed
2019-12-12 09:05:44 +00:00
Tagir Valeev
edee0983e4
Reduce exposure of DfaMemoryStateImpl
...
GitOrigin-RevId: dbd51ed0a3dd8b70bb6489be8a6ae250b6f33195
2019-12-12 06:33:19 +00:00
Tagir Valeev
70d68ee998
Collections.emptyList/set/map as constants (IDEA-227637)
...
GitOrigin-RevId: c9ea8de1bc8a856de3e5c5608a5ffaa766a035b4
2019-12-12 05:35:12 +00:00
Roman.Ivanov
fb932c04a6
LocalCanBeFinal: do not try to report record compact constructor parameters
...
GitOrigin-RevId: 0f7b608f437321b829b0fdc027e36a31fbe01466
2019-12-12 03:32:48 +00:00
Tagir Valeev
d74ca4700d
Objects.requireNonNull in the constructor is allowed call (IDEA-228684)
...
GitOrigin-RevId: dc3c2bc6577dfe9ca421975b87758e05e3ab9a89
2019-12-12 03:04:15 +00:00
Tagir Valeev
b2dd460c8a
LongRangeSet: be more tolerant to incorrect input range (at least for now)
...
GitOrigin-RevId: c5f05103c9f6f40be8b910d4c4c8c2448e0038f0
2019-12-12 03:04:15 +00:00
Tagir Valeev
f35218ebb6
SimpleMethodInliner: add boxing
...
GitOrigin-RevId: f16b1abdfe684ce930c328711ce0a85a92611cd8
2019-12-12 02:07:43 +00:00
Tagir Valeev
c79e23a713
Dataflow refactoring: DfaFactMap => DfType
...
GitOrigin-RevId: 3ef9e633dc92929191cc5724109b3575bf6d12a1
2019-12-11 09:07:22 +00:00
Tagir Valeev
8899d33dbf
DataFlowInspectionBase#reportFailingCasts: shorten the expression
...
GitOrigin-RevId: 8f1dbb6de8429b335cc42ec9e11c5278b86f53b2
2019-12-11 09:07:22 +00:00
Tagir Valeev
065528c882
LongRangeSet: multiplication widening improved
...
GitOrigin-RevId: 2fdecc0592176590c79b9099ac89a501739e03b1
2019-12-11 09:07:22 +00:00
Anna.Kozlova
f40b8cf55c
fix all in inspections tests
...
GitOrigin-RevId: 465f352352605d204198266e719f103e82260a4d
2019-12-11 09:07:22 +00:00
Anna Kozlova
abc4a9ae72
no need in overriding getDisplayName for inspections
...
in production InspectionEP#displayName should be used; highlighting tests just do not use default names
GitOrigin-RevId: f0c172e568219499e7b96982fe352c7d1d3acc69
2019-12-11 08:03:54 +00:00
Peter Gromov
f225ad9589
contract inference: prevent direct recursion manually to reduce the number of missed caching opportunities
...
GitOrigin-RevId: 6cde0b49117e3441d9d22d9f5515a9a661e70bb6
2019-12-10 07:33:29 +00:00
Sergey Patrikeev
1468e2ac20
KT-35296: False positive "Suspicious package-private access" with unrelated package-private no-arg superconstructor.
...
GitOrigin-RevId: bb186ee4cfaf890392be318c01613f301dd9b595
2019-12-05 16:03:48 +00:00
Yuriy Artamonov
4954832e92
@NotNull for PsiElementVisitor visit methods
...
GitOrigin-RevId: 6a67f22e668694096a3cbf31dfdc5b1d8f37bba3
2019-12-05 09:07:56 +00:00