Commit Graph
27 Commits
Author SHA1 Message Date
peter 336194494c a bit more parsimonous DfaMemoryStateImpl.createCopy 2013-09-23 16:30:26 +02:00
peter 1709382d3f dfa: use UnorderedPair instead of two-element set 2013-09-23 16:30:25 +02:00
peter e8dbc2135e immutable DfaVariableState, for faster copying and less memory usage 2013-09-23 16:30:25 +02:00
peter 2486e9e229 dfa: merge several states to account for variables with several possible values 2013-09-22 09:58:42 +02:00
peter 4d4f4b0147 dfa: some minor things and caching 2013-09-22 09:56:49 +02:00
peter e55fae1896 dfa: abstract out eq class into EqClass class 2013-09-21 13:32:29 +02:00
peter 370d44d546 dfa: remove trivial state facts that constant != another constant 2013-09-21 13:32:29 +02:00
peter fea88718d0 dfa: fighting too complex methods; join complementary memory states after fork to avoid having too many states 2013-09-21 00:00:03 +02:00
peter 0ac20848d3 DfaMemoryStateImpl: introduce unwrap; compare variable values with their non-initialized counterparts 2013-09-21 00:00:02 +02:00
peter b016c04ab0 correct ephemeral state copy (IDEA-113143 Calling method with contract shouldn't result in nullability suspicion) 2013-09-19 18:56:52 +02:00
peter 340cf22371 Calling method with contract shouldn't result in nullability suspicion (IDEA-113763, IDEA-113699, almost IDEA-113143) 2013-09-19 18:32:08 +02:00
peter 2765dab243 dfa: spare some minor cpu cycles 2013-09-19 18:32:07 +02:00
peter f5b050dba6 dfa: boxed/unboxed values are also unknown 2013-09-17 21:56:28 +04:00
peter 0a8c1283a9 DfaMemoryStateImpl: use only non-trivial equality classes for comparison 2013-09-17 17:49:57 +04:00
peter d0469515fa dfa: don't create negated value just to flush it 2013-09-16 21:16:38 +04:00
peter 0f1494e02a dfa: don't multiply eq classes until really needed 2013-09-15 22:48:34 +04:00
peter 91543ede54 dfa: treat every getter-like invocation like a field access, don't look inside and don't parse other classes for that 2013-09-14 14:26:45 +04:00
peter 8534bf1625 cache the default dfaVar type 2013-09-10 18:28:46 +02:00
peter 2ee4c955da merge DfaNotNullValue into DfaTypeValue 2013-09-10 18:28:46 +02:00
peter 650794d9c2 some findusageability in dfa 2013-09-10 18:28:46 +02:00
peter 7d3f4f255a some dfa simplifications not affecting tests 2013-09-10 14:13:18 +02:00
peter 5d1dddccb5 fail-fast DfaMemoryStateImpl.equals 2013-09-06 17:31:33 +02:00
peter 559ab965eb no matter if there are other variables having that constant value, it's still constant 2013-09-05 16:27:41 +02:00
peter 9329331182 IDEA-104754 Good code yellow: Unboxing 2013-07-31 17:49:44 +02:00
peter 4774b1e0e2 suggest to replace with constant reference rather than its value 2013-07-15 16:42:36 +02:00
peter e5c829c66b IDEA-69573 ConstantConditions - Warn when reading a variable that is guaranteed to be null 2013-07-09 16:12:33 +02:00
Alexey Kudravtsev a42f8f1829 moved to analysis 2013-05-24 13:49:39 +04:00