Commit Graph

2420 Commits

Author SHA1 Message Date
Tagir Valeev
445846597a InferredAnnotationsManagerImpl: fix displaying hardcoded annotations 2017-05-25 12:43:27 +07:00
Tagir Valeev
68dd38bbca ContractInferenceInterpreter#negateConstraint -> ValueConstraint#negate, used in BytecodeAnalysisConverter. Test01.java: checkTrueFail (IDEA-CR-21320) 2017-05-25 11:02:12 +07:00
Anna Kozlova
617e93f6a7 external annotations: check suppressions externally (IDEA-170717) 2017-05-24 17:12:22 +03:00
Tagir Valeev
d24253e47d BytecodeAnalysis: cosmetics in Direction class 2017-05-24 12:51:08 +07:00
Tagir Valeev
5599cc543f BytecodeAnalysis: infer failing contracts; infer contracts for input boolean arguments; squash inferred contracts; refactoring 2017-05-24 11:49:05 +07:00
Tagir Valeev
871ef095bb PurityAnalysis: StringBuffer.toString is also hardcoded (used for string concatenation in older java versions) 2017-05-24 10:45:15 +07:00
Anna.Kozlova
bb9160344a move java tests in corresponding package; ease access privileges 2017-05-23 12:57:09 +02:00
Pavel Dolgov
16b1765f7f Java: Better handling of unreachable code (IDEA-172642) 2017-05-23 12:28:44 +03:00
Anna Kozlova
f00c819705 disable make abstract fix inside anonymous 2017-05-23 12:03:45 +03:00
Roman Shevchenko
5b60b35416 [java] fixes invalid highlighting in JDK module files (IDEA-172796) 2017-05-19 13:45:02 +03:00
Tagir Valeev
47085f1ce7 ProjectBytecodeAnalysis: ConcurrentFactoryMap.createConcurrentMap used (IDEA-CR-21186) 2017-05-19 10:32:58 +07:00
peter
adeb64da36 IDEA-173050 Incorrect null analysis of <T extends @NonNull Object> 2017-05-18 20:57:58 +02:00
Tagir Valeev
102eb1c43b DfaFactType improvements after review IDEA-CR-21121
1. DfaFactMap#calcFromVariable: unchecked warning fixed
2. NullnessUtil extracted out of CanBeNullFactType
3. CanBeNullFactType is anonymous now
4. New Nullness methods moved to NullnessUtil
2017-05-18 17:19:05 +07:00
Tagir Valeev
193088959c Nullability as DfaFact. DfaVariableValue#calcInherentNullability now part of DfaFactType 2017-05-18 17:19:04 +07:00
Anna Kozlova
987caaf26d provide this(); fix when constructor requires super call (IDEA-151335) 2017-05-18 10:50:55 +03:00
Tagir Valeev
c41245708f Bytecode analysis: purity inference improvement (also fixes IDEA-172989):
1. Lambda/method reference creation is pure
2. String concatenation is pure
3. Constructor which only modifies own fields (calls setters, etc.) is pure
4. Exception creation is pure
5. A few hardcoded native methods
2017-05-18 10:52:53 +07:00
Tagir Valeev
af20bc97d0 DFA: ignore ranges for float/double (was introduced during DfaFactType merge) 2017-05-18 10:52:52 +07:00
peter
9a38607df9 cleanup (IDEA-CR-20904) 2017-05-16 16:19:21 +02:00
Anna Kozlova
350f588c09 unused declaration: take refs from literals into account (IDEA-172447) 2017-05-16 09:08:10 +03:00
Tagir Valeev
cf28cc4419 DfaFactMap/DfaFactType introduced (reviewed: IDEA-CR-20337) 2017-05-16 10:32:31 +07:00
peter
582f0f9571 IDEA-CR-20904 fixes after review (IDEA-123301 Show a warning if 'List<@Nullable X>' is passed to a place where 'List<@NotNull X'> is expected)
supported maps, inheritance, returns, functional expressions
2017-05-15 16:16:19 +02:00
Alexey Kudravtsev
f35eb99265 made more fields thread-safe to fix ArrayIndexOutOfBoundsException: at RefJavaManagerImpl.java:96 2017-05-13 11:52:10 +03:00
peter
514f227143 don't unwrap do-while statement with break/continue inside (IDEA-CR-20896) 2017-05-12 14:21:57 +02:00
Alexey Kudravtsev
4a4626c750 removed default file header, because it adds no information but subtracts attention and space 2017-05-12 14:02:24 +03:00
Anna Kozlova
512b5011be dead code 2017-05-12 12:09:23 +03:00
Anna Kozlova
c56dcfa187 can be final: simplify constructors filter 2017-05-12 12:09:23 +03:00
Tagir Valeev
ed2d5b33fe SuspiciousArrayMethodCallInspection: erased types are compared (fixes IDEA-172742). As the corresponding argument accepts Object or Object[], exact generic signature cannot be always inferred. 2017-05-12 11:11:05 +07:00
peter
88bdc032be look for conflicts when replacing 'for' with its initialization (IDEA-CR-20896) 2017-05-11 17:43:42 +02:00
Tagir Valeev
516f50339d DataFlowInspectionBase: fixes extracted and moved to separate package 2017-05-11 17:48:21 +07:00
Alexey Kudravtsev
920d5b4fba removed default file header, because it adds no information but subtracts attention and space 2017-05-11 13:39:07 +03:00
Anna Kozlova
8914fcc986 EA-98243 - assert: DefaultInspectionToolPresentation.extractActiveFixes 2017-05-10 19:49:35 +03:00
peter
932d1215d6 make 'remove loop' fix work for '(false)' and 'for' (IDEA-CR-20896) 2017-05-10 17:11:34 +02:00
Anna Kozlova
a874cb4416 unnecessary module dependency: tolerate external/generated code used (IDEA-172472) 2017-05-10 13:53:11 +03:00
Anna Kozlova
267e87add3 local can be final: add option to configure if implicitly final variables should be highlighted or not (IDEA-172529) 2017-05-10 13:09:56 +03:00
Tagir Valeev
e46d305cb0 DfaPsiUtil#getFunctionalParameterNullability: use known type nullability for SAM parameters 2017-05-10 11:02:51 +07:00
Alexey Kudravtsev
95f7030993 fixed terrible data races like in EA-100927 - AIOOBE: RefMethodImpl.markExtended 2017-05-09 15:49:40 +03:00
peter
4c858997f1 IDEA-123301 Show a warning if 'List<@Nullable X>' is passed to a place where 'List<@NotNull X'> is expected 2017-05-08 18:30:28 +02:00
peter
6b43b5ba7d IDEA-171248 Nullabiltiy: missing warning in for-each cycle 2017-05-08 16:33:19 +02:00
peter
6022466f17 IDEA-172479 Remove loop fix 2017-05-08 16:33:19 +02:00
Anna Kozlova
77f4894aae inference errors: make applicability error thread safe so multiple threads can perform overload resolution of parent method calls independently, save presentable error when substitutor cached only 2017-05-08 12:12:13 +03:00
Tagir Valeev
dc80c4f83a IDEA-172417 Dataflow analysis: track that loop is visited if and only if array/collection is non-empty 2017-05-05 16:37:31 +07:00
Tagir Valeev
9ef165b0ed SimplifyStreamApiCallChainsInspection: Boolean.TRUE/FALSE::equals scenarios: check that lambda/method reference never return null 2017-05-05 13:00:00 +07:00
peter
7bfb25a3e8 retain all intersection type components in dfa type (IDEA-172337) 2017-05-04 16:21:50 +02:00
Tagir Valeev
6f37264fbf BytecodeAnalysisIndex: version incremented (IDEA-CR-20815) 2017-05-04 17:38:19 +07:00
Alexey Kudravtsev
4e910f95a3 no more unnecessary unicode § — to speedup file load 2017-05-04 13:26:19 +03:00
Tagir Valeev
25a1a2ceb5 IDEA-171798 Bytecode nullability inference does not work when parameter is captured in lambda 2017-05-04 12:48:19 +07:00
Tagir Valeev
fc9fa0c222 Array index bounds checking in DFA 2017-05-03 10:28:28 +07:00
Bas Leijdekkers
5016eead0e better quick fix name 2017-05-02 20:47:50 +02:00
Dmitry Batkovich
283dfa0957 implement SuperClassHasFrequentlyUsedInheritors inspection over compiler indices 2017-05-02 18:26:19 +03:00
Nicolay Mitropolsky
d1123d14fc JvmCommonCodeModifications renamed to JvmCommonIntentionActionsFactory 2017-05-02 17:04:37 +03:00