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
ecf359491b
static CachedValueManager.getCachedValue(PsiElement, CachedValueProvider) for less verbose cached value storage in psi user data
2013-09-10 14:13:19 +02:00
peter
7d3f4f255a
some dfa simplifications not affecting tests
2013-09-10 14:13:18 +02:00
peter
9d042245fd
remove unused DelegatingInstructionVisitor
2013-09-10 14:13:18 +02:00
Anna Kozlova
a44e101708
EA-49734 - IAE: GenericsHighlightUtil.checkReferenceTypeArgumentList
2013-09-10 15:38:01 +04:00
Anna Kozlova
0195034704
lambda -> method ref: reject unresolved lambdas
2013-09-09 21:42:45 +04:00
peter
bb9b1f5f28
IDEA-113391 Edit Method Contract intention for library methods
2013-09-09 14:43:20 +02:00
Anna Kozlova
286cdc3bae
anonym -> lambda: unique param names (IDEA-113338)
2013-09-09 13:03:19 +04:00
peter
e8a4550b07
there are no constructor field initializers in compiled psi
2013-09-06 18:33:24 +02:00
peter
762a0ca1d0
empty for loop condition means "true" (IDEA-113242)
2013-09-06 18:33:24 +02:00
peter
5d1dddccb5
fail-fast DfaMemoryStateImpl.equals
2013-09-06 17:31:33 +02:00
peter
59734e3927
calculate constructor initialization for all fields at once, and cache (needed for dfa and nullable-stuff inspections)
2013-09-06 17:31:33 +02:00
peter
2bad29c78a
2x faster implicit field nullability detection
2013-09-06 17:31:33 +02:00
peter
6b3d77c6b3
IDEA-112968 Show "Value is always" warning only for null/true/false
2013-09-06 17:31:32 +02:00
Anna Kozlova
ac384331af
optimization: retrieve PsiElement when problem occurs only
2013-09-06 17:36:18 +04: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
9bc2733b6f
single-pass control flow building
2013-09-04 18:40:24 +02:00
peter
257d23aeb4
IDEA-112474 Expression might evaluate to null and not @Nullable annotated inspection is not aware of @Contract
2013-09-04 18:40:23 +02:00
peter
e586777c2e
a more descriptive DupInstruction.toString
2013-09-04 18:40:23 +02:00
peter
9c9e366bce
dfa: pop all the contract-unchecked arguments from stack (IDEA-112500)
2013-09-04 18:40:23 +02:00
peter
2e683c3257
@VisibleForTesting: when no real visibility is specified, consider it is one less the one specified in the source (IDEA-107730)
2013-09-04 14:41:30 +02:00
peter
9733cb8636
dfa: use correct code block for closure dfa calculation
2013-09-04 13:32:56 +02:00
Alexey Kudravtsev
a56c7b1535
editor api modules refactoring:
...
- editor-ui-api module containing public API editor interfaces
- editor-ui-impl module containing editor implementation interfaces
- analysis* modules made dependant on editor-ui* modules
- highlighting classes moved to *analysis* modules
- majority of highlighting quickfixes moved to QuickFixFactory
- injections in GeneralHighlightingPass splitted away to InjectedGeneralHighlightingPass
2013-09-04 14:17:56 +04:00
peter
73cf33f7e9
dfa: analyze inner class field initializers
2013-09-03 17:37:02 +02:00
peter
3bb5907f5f
dfa: analyze only top-level methods together with their nested classes
2013-09-03 16:57:39 +02:00
peter
8dbc50c963
use not-null CachedValue dependencies
2013-09-02 16:39:23 +02:00
peter
127bc3f31e
don't warn when calling @VisibleForTesting method with no original visibility specified (IDEA-107730)
2013-09-02 09:54:39 +02:00
Anna Kozlova
1eafaae57e
EA-49147 - NPE: UnusedDeclarationInspection.isReadObjectMethod
2013-08-28 21:39:02 +04:00
Alexey Kudravtsev
f9f8006329
moved to appropriate package
2013-08-28 20:12:59 +04:00
Alexey Kudravtsev
4d058f83f1
cleanup
2013-08-28 20:12:58 +04:00
Anna Kozlova
70d526d597
guardedBy itself support (IDEA-112565)
2013-08-26 15:36:00 +04:00
Anna Kozlova
c57c308286
local can be final inside lambda body (IDEA-112630)
2013-08-26 14:02:42 +04:00
Anna Kozlova
16d39f1c18
can be method ref: provide type info in inspection error message (IDEA-112557)
2013-08-23 18:57:43 +04:00
peter
78ecf28ff5
IDEA-112358 'Constant Conditions' does not understand non-short-circuit 'or'
2013-08-21 19:08:48 +02:00
peter
ba851de6b9
override/implement doesn't annotate externally (EA-48604)
2013-08-20 16:42:57 +02:00
Alexey Kudravtsev
45c44a7dd0
moved to analysis
2013-08-14 17:37:00 +04:00
Alexey Kudravtsev
df6391aed2
notnull
2013-08-14 12:17:16 +04:00
Anna Kozlova
c23e9e6b18
EA-48588 - assert: ComponentManagerImpl.getComponent
2013-08-09 18:15:12 +02:00
peter
046b657318
IDEA-111456 An inspection to check method contract well-formedness
2013-08-07 20:25:51 +02:00
peter
012d1147d4
dfa inspection CCE analyzer should check erasures only
2013-08-05 16:39:28 +02:00
peter
e8ee43cdee
disable constant value warnings in complex assignments (IDEA-111478)
2013-08-05 13:44:51 +02:00
Alexey Kudravtsev
5493a26e04
compilation
2013-08-05 13:14:52 +04:00
peter
ee51eccbf3
dfa should box primitive values coerced into Object (IDEA-111445)
2013-08-02 15:55:03 +02:00
peter
9329331182
IDEA-104754 Good code yellow: Unboxing
2013-07-31 17:49:44 +02:00
peter
96d78ee5e8
dfa: suggest to replace variable with int constant (IDEA-111178)
2013-07-29 19:51:56 +02:00
peter
d1d92234bb
method contracts: use underscore instead of "any"
2013-07-29 19:51:56 +02:00
peter
949c33c329
more robust multi-clause contracts
2013-07-29 18:33:52 +02:00
peter
30a64f6aea
skip reporting constant conditions involving assignments as our dfa can't handle them properly (IDEA-105491)
2013-07-24 13:25:16 +02:00
anna
63a32222ad
error message changed
2013-07-23 21:29:46 +02:00