Anna.Kozlova
a5c39af78d
NPE
...
GitOrigin-RevId: a42f146586b4444bd57622440e20cf52cb9bc22e
2019-12-05 07:33:56 +00:00
Tagir Valeev
6ac3052a65
CustomMethodHandlers: evaluate enum name()
...
GitOrigin-RevId: 2172db0a3c0355359d9e0f822409483b8f3c35e7
2019-12-02 10:33:58 +00:00
Tagir Valeev
546d12c3f8
DFA: make CFG independent on assertion status
...
GitOrigin-RevId: 4c81f96bb7d6108d4e74898bfc5f014e753132e1
2019-12-02 05:12:00 +00:00
Tagir Valeev
f88bb8439b
LiveVariablesAnalyzer: use EscapeInstruction instead of visiting the closure
...
GitOrigin-RevId: 0856d5b5e4c15d9ce6fd83eefab92fb4a5373aac
2019-11-29 11:10:15 +00:00
Tagir Valeev
e3704df1e9
EmptyInstruction and LambdaInstruction converged to ClosureInstruction
...
GitOrigin-RevId: 3c17ea3ea8271ee935ccdabb95b8d098c5a6b858
2019-11-29 11:10:15 +00:00
Tagir Valeev
15fe5767f3
DFA: redundant code removed; some warnings fixed
...
GitOrigin-RevId: 16e2bc4b9e767a96c22ef68050e59e79d3d0086b
2019-11-29 08:03:39 +00:00
Tagir Valeev
66305e31a3
ExpressionPushingInstruction as an abstract class
...
GitOrigin-RevId: 53d07646ac43396727c0dd0ef52eb812e751c2c6
2019-11-29 08:03:39 +00:00
Tagir Valeev
e7db245b55
BranchingInstruction as an interface
...
GitOrigin-RevId: 00feaf17e42f8628300367d3b28283abe0e5c953
2019-11-29 08:03:39 +00:00
Tagir Valeev
19283ee76f
DataFlowInstructionVisitor: unify method reference results and constant results processing
...
GitOrigin-RevId: 16b69d9f678f71ab6c9d03a93b96ffe72b5be618
2019-11-29 07:07:42 +00:00
Tagir Valeev
ccb7c7addc
DataFlowInstructionVisitor#isInstanceofRedundant fixed
...
GitOrigin-RevId: eacf2331a6aca6d00a5dbdb1a62d8249fab9ad1e
2019-11-29 06:42:31 +00:00
Tagir Valeev
8af75539ff
ExpressionChunk#toString (IDEA-CR-55931)
...
GitOrigin-RevId: 261eaa11e0f84b95c8a78c011955ff884a7b2a64
2019-11-28 11:02:29 +00:00
Tagir Valeev
cd2d220091
ControlFlowAnalyzer: support polyadic division
...
GitOrigin-RevId: 80cda272dbfb96b58313575b787fa1b06636b60e
2019-11-28 05:14:49 +00:00
Tagir Valeev
9fae6c627e
BranchingInstruction: remove true/false reachable tracking
...
1. handleBranchingInstruction replaced with reportRedundantInstanceOf
2. reportConstants now reports sub-expressions as well
GitOrigin-RevId: deb69fe4c35ad7500b85e21d0ff153f9ffe60b56
2019-11-28 05:14:49 +00:00
Tagir Valeev
774e67ce88
ControlFlowAnalyzer: remove special handling for boolean XOR
...
The only special thing we need to do now is to replace XOR token with NE; this is done in BinopInstruction constructor
GitOrigin-RevId: c783785f812c6c3f950296205d3f8a57eac59976
2019-11-27 12:11:41 +00:00
Tagir Valeev
f8fec32e53
Non-short-circuiting and/or: make it simple BinopInstruction
...
GitOrigin-RevId: b7ceabf9b387bb743643cecc04fa460b07071616
2019-11-27 12:11:41 +00:00
Tagir Valeev
7fe0cb9d74
DataFlowInspectionBase#reportUnreachableSwitchBranches: do not use trueSet and falseSet
...
GitOrigin-RevId: 15de1c6e33635a8d9ac71fd8db9ed0081632c32f
2019-11-27 12:11:41 +00:00
Toshiaki Kameyama
9c6fcc15f3
LocalCanBeFinal: fix false negative in lambda body
...
#IDEA-227649
GitOrigin-RevId: 33a5c47c1cad5c2a6057ad97fad74d74962252ae
2019-11-26 21:05:28 +00:00
Vladimir Krivosheev
6f359c7a9d
ensure that app is disposed correctly and message bus respect project container state
...
GitOrigin-RevId: d0ed042a9008c0397030694a2984b159dbd2c31b
2019-11-22 21:31:42 +00:00
Tagir Valeev
cda201cedf
DfaMemoryStateImpl: ignore NaNs
...
GitOrigin-RevId: 33daf7f411fd5ae14ac801eb5b94b420a4a09182
2019-11-22 10:42:45 +00:00
Tagir Valeev
7a16b10a90
Better support for substring in DFA
...
GitOrigin-RevId: 72a50f3948de1852583432d1b82c11da055bd2ec
2019-11-22 07:03:48 +00:00
Daniil Ovchinnikov
ffbcf84f82
add few FQN constants CommonClassNames and use them
...
- `JAVA_UTIL_LINKED_HASH_SET`
- `JAVA_UTIL_LINKED_LIST`
- `JAVA_UTIL_QUEUE`
- `JAVA_UTIL_SORTED_SET`
- `JAVA_UTIL_STACK`
GitOrigin-RevId: 14129d2a0ed006a9df3bc84a3d45a182a4c66964
2019-11-21 16:17:15 +00:00
Tagir Valeev
e3e0174973
Inline lambdas from locals that used only once (IDEA-224757)
...
GitOrigin-RevId: 28030561c5d5a8bd53b944981522ceedb45f1e0e
2019-11-21 03:44:39 +00:00
Tagir Valeev
c3e78325e1
DfaCondition: cosmetic fixes
...
GitOrigin-RevId: 3f73e3ce19daafa66a8cbb4e3d1d74e668da580d
2019-11-19 09:33:35 +00:00
Anna.Kozlova
6ce30214f3
non blocking read action
...
IDEA-CR-55249
GitOrigin-RevId: 6cd5bab82c24c350f81a3936612112bd024734f4
2019-11-19 09:12:58 +00:00
Tagir Valeev
e7b0a9cde3
DFA refactoring: DfaRelationValue moved to DfaRelation, separate hierarchy
...
Now all conditions that could be applied to DfaMemoryState are not DfaValue's and not deduplicated in factory. So we always know whether we are working with DfaValue or with DfaCondition.
GitOrigin-RevId: 10114308c49a4ff20f32025ceec0b8884c6699e9
2019-11-19 08:33:31 +00:00
Tagir Valeev
ae60cb8a7f
Warnings fixed
...
GitOrigin-RevId: b494c1c52d36c22c1da29011581bda15afbdffbc
2019-11-19 08:33:31 +00:00
Tagir Valeev
2dc75f0d1b
Warnings fixed
...
GitOrigin-RevId: 97b4fb42559f9c9e5ab7e79e55a2d2defc2da154
2019-11-19 08:33:31 +00:00
Tagir Valeev
384e3216ff
RelationType now top-level class
...
GitOrigin-RevId: cab23504ed037c689b2b3c652e53a237de5daa69
2019-11-19 05:31:54 +00:00
Tagir Valeev
82a32ee2df
DfaAssist: move control flow building to manager thread leaving interpretation in background
...
Review ID: IDEA-CR-54712
GitOrigin-RevId: 66098a9af496a94a17785ab990a45454c09d66ea
2019-11-19 05:14:43 +00:00
Anna Kozlova
f85dcc7c61
add read actions for global inspections
...
IDEA-CR-55249
GitOrigin-RevId: 7a0bfebefcc96eb2678d9b34ccd372d525f84ab0
2019-11-18 21:31:51 +00:00
Tagir Valeev
0edbd7dcec
analyzeCodeBlock: initialStateAdjuster initial as could be implemented using createInitialInstructionStates
...
GitOrigin-RevId: 7d744b43bd1bc8272ee95d3073f6c4b1d573cf95
2019-11-18 07:33:38 +00:00
Tagir Valeev
e90f84e72d
DataFlowRunner: move ignoreAssertions to the field
...
GitOrigin-RevId: f43cdfeda78ff6fdb381962d2a2f37a7926fe830
2019-11-18 07:33:38 +00:00
Tagir Valeev
1b98680aa9
DataFlowRunner: context-only ctor
...
GitOrigin-RevId: c4ec11e99de25ee008d80766f50f6dbe1ffbb4a7
2019-11-18 07:33:38 +00:00
Tagir Valeev
1064a88624
ExpandableArray: tune initial size
...
GitOrigin-RevId: ebaa2d634946051cbaad35229cd594c3f51ff609
2019-11-18 07:33:38 +00:00
Tagir Valeev
00fcd8cf1c
DataFlowRunner: reordering constructor arguments
...
GitOrigin-RevId: 00ebff95fecc9ab8f8a89afac7550d784033c593
2019-11-18 07:33:38 +00:00
Tagir Valeev
bf7c905768
StandardDataFlowRunner inlined (as it added no real value)
...
GitOrigin-RevId: bca772ccffa95e89383da84ce0e2e49c8b825937
2019-11-18 07:33:38 +00:00
Anna.Kozlova
3f5dd8da98
global inspections: try to get rid of long read lock (IDEA-226784)
...
GitOrigin-RevId: ed2c7e44b9f037d892379ab96d4732bedd10f51a
2019-11-14 09:07:48 +00:00
Tagir Valeev
4a0f09175c
DataFlowInspectionBase: lambdas dedup
...
GitOrigin-RevId: 13405f1e08b33ec52d25ee3a6d78b415d22f3b8b
2019-11-12 11:05:04 +00:00
Tagir Valeev
66cf3aaee7
Report nullable returns from lambdas whose nullability is derived via a substitution
...
Fixes IDEA-226568 Null static analysis does not work for lambda return types
GitOrigin-RevId: 5460e2c650da24368a3b3ee4cf572b2b6f6763ba
2019-11-12 06:33:21 +00:00
Tagir Valeev
881c8edf0d
CustomMethodHandlers: expect unknown size
...
Fixes EA-216984 - IAE: SpecialFieldValue.<init>
GitOrigin-RevId: 383e58d6c517c116ab5657d624df31791eabe4ba
2019-11-08 10:34:40 +00:00
Tagir Valeev
57f085a5ce
inferenceResults.kt: expect that single call can be not restored correctly
...
Fixes EA-217031 - TCE: PurityInferenceResult.callsOnlyPureMethods
GitOrigin-RevId: 8b3e68b3df48aaa6cadd80d0e5f751353dca6c9a
2019-11-08 10:05:02 +00:00
Tagir Valeev
503add0002
SumTerminalStep#pushInitialValue: expect non-primitive type, e.g. if custom sum() is occurred
...
Fixes EA-217041 - NPE: StreamChainInliner$SumTerminalStep.pushInitialValue
GitOrigin-RevId: 5ff6526308d63ddb0f5e829d8c22750c91f9ba58
2019-11-08 10:05:02 +00:00
Alexey Kudravtsev
850cf546dc
replace Logger.getInstance(#fqn) with Logger.getInstance(klass.class) to reduce constant pool and code size and make code more refactorable
...
GitOrigin-RevId: 4ef94813858973e44449a20cf8b09174c8df5fce
2019-11-07 17:02:46 +00:00
Alexey Kudravtsev
5958b04995
fix invalid class name in Logger.getInstance
...
GitOrigin-RevId: c0ccd2efdaec8ecdeba9191e560cee27b6531185
2019-11-07 17:02:46 +00:00
Tagir Valeev
a815811dba
IDEA-226296 Forward compatibility inspection
...
GitOrigin-RevId: eadb0e5ec707311f802879dd347fa7a72a67d0af
2019-11-07 02:40:58 +00:00
Tagir Valeev
9ab9138cdf
IDEA-226284 Warn about unqualified 'yield' method usage
...
GitOrigin-RevId: ec260801f8968d0f70f919cf4104fd2c9a3498ed
2019-11-07 02:40:58 +00:00
Tagir Valeev
1731245617
IDEA-226191 Use Java dataflow to assist the step-by-step debugging: draft implementation
...
For now switched off by default (use debugger.show.values.from.dfa)
GitOrigin-RevId: a983ef0b73ddec7e4987a2c162035e74c72a7b73
2019-11-07 02:40:58 +00:00
Tagir Valeev
8b2be827bc
DFA: refactor; separate CFG build phases and abstract interpretation
...
GitOrigin-RevId: c87ca36055e9d0eb04cb2593955b9f483452fac0
2019-11-07 02:40:58 +00:00
Roman.Ivanov
6aa27315f9
HardcodedContracts: weaken contract for arraycopy, do not check exact bounds of length
...
GitOrigin-RevId: f1ccbec48e0801248b30bb097e01a0553dc12258
2019-11-07 02:40:58 +00:00
Roman.Ivanov
36e52aee65
IDEA-225974: add contract to System.arraycopy
...
GitOrigin-RevId: 3416f038435d66e6d8118a51706d629546ded6a3
2019-11-07 02:40:58 +00:00