Commit Graph

100 Commits

Author SHA1 Message Date
nik
224d9ced70 update commons-collection (IDEA-198976) 2018-10-25 09:37:06 +03:00
Roman Shevchenko
e0589b585f [tests] migrates bytecode analysis tests to light test case
... and moves test data out of source code
2018-09-14 14:45:43 +02:00
Nikita Katkov
fea31cf421 Blocking calls detection inspection created (IDEA-173248) 2018-08-22 13:59:40 +03:00
Anna Kozlova
0965ee5b9b type migration: don't process statement body when only condition is to be migrated (IDEA-197635) 2018-08-21 14:28:59 +03:00
Tagir Valeev
8446c4bce4 Testdata fixed after dfa_refactoring 2018-08-08 17:48:41 +07:00
Tagir Valeev
3f3f06b4da SillyAssignmentInspection: fix finality check in quickfix creation: skip parentheses 2018-07-09 12:31:44 +07:00
Tagir Valeev
1aae19b0df BytecodeAnalysisIndex: support new/this/paramX contracts
IDEA-191302 Introduce new contract return values: this, new, paramX
2018-05-04 17:44:23 +07:00
Tagir Valeev
37a4a385ab BytecodeAnalysisIntegrationTest: add missing commons-collection annotations after moving velocity to maven
Before commons-collections was packed inside the velocity.jar and many classes were removed from there
2018-03-30 14:14:22 +07:00
Tagir Valeev
b144fc264e Purity inference: fix expected data (which was not updated due to non-invalidated local cache) 2018-01-19 10:22:28 +07:00
Tagir Valeev
1aa64e3da2 IDEA-185138 Bytecode purity inference: do not infer method as pure if it reads the volatile field 2018-01-18 17:57:51 +07:00
Anna.Kozlova
d0a2fce763 restore comments: simplify typed lambda 2018-01-17 14:08:05 +01:00
Tagir Valeev
b414748d24 BytecodeAnalysis: force purity of enum.ordinal() and array.clone() 2018-01-15 16:29:57 +07:00
Anna.Kozlova
5e66047b75 testdata for IDEA-176407 2017-07-21 20:35:21 +02:00
Maxim.Mossienko
4d165172dd update testdata to reflect newer mock jdk 1.7 2017-06-13 15:09:42 +02:00
Anna Kozlova
a19a52bf49 raw type to parameterized: warn about conflicts (IDEA-173770) 2017-06-06 14:54:07 +03:00
Tagir Valeev
82da560c31 Introduced AggressiveHardCodedPurity under registry key (IDEA-CR-21434)
New key = java.annotations.inference.aggressive.hardcoded.purity (true
by default). Implies purity for Object.toString(), Iterable.iterator(),
Iterator.hasNext() and this-changing Iterator.next(). Parameter-changing
 mode supported for hardcoded purity.
2017-05-30 17:38:23 +07:00
Tagir Valeev
97eaee737b BytecodeAnalysis refactoring: HKey and Key merged to EKey; hashing is encapsulated inside HMethod/Method pair 2017-05-30 13:17:05 +07:00
Tagir Valeev
60e8eb5948 PurityAnalysis: Object.toString hardcoded pure 2017-05-29 15:14:46 +07:00
Tagir Valeev
668fcdd985 PurityAnalysis: more native methods hardcoded 2017-05-25 15:22:20 +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
Tagir Valeev
9f7b27a7cc BytecodeAnalysisIntegrationTest: expected annotations fixed (somehow these two were missing) 2017-05-18 14:40:57 +07: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
Bas Leijdekkers
46e4268b8f Fixed "Variable assigned to itself" quickfix (IDEA-148688) 2016-08-01 17:13:28 +02:00
Pavel Dolgov
eca5f9ad13 Java inspection: don't offer "Make Type Generic" inspection at variable initializer (IDEA-157727) 2016-06-28 18:04:59 +03:00
Pavel Dolgov
75910f448f Java inspection: simplified "Make Type Generic" inspection's visitor, test added (IDEA-157727) 2016-06-28 15:37:35 +03:00
Pavel Dolgov
c3bd56a80c Java inspection: convert the intention for "Make Type Generic" into an INFORMATION-level inspection (IDEA-157727) 2016-06-28 15:13:49 +03:00
Pavel Dolgov
5e380e7526 Java inspection: convert the intention for "Remove redundant lambda parameter types" into an INFORMATION-level inspection (IDEA-156028, IDEA-157727) 2016-06-24 14:00:51 +03:00
Roman Shevchenko
c1e9f34a41 [java] improves resolve inside .class file 2016-06-06 15:30:39 +03:00
Ilya Klyuchnikov
00712ecdf5 new annotations 2015-12-30 13:22:42 +03:00
Ilya Klyuchnikov
414ec9db35 IDEA-145968: a change in test data 2015-10-12 15:00:23 +03:00
peter
4d76c50f69 add LinkedHashMap to mockJdk7 2015-10-06 15:27:44 +02:00
Ilya Klyuchnikov
7944b7a260 IDEA-145494: reformatting test data 2015-10-05 18:27:37 +03:00
Ilya Klyuchnikov
ac3ee3b425 IDEA-144129: support for inferred negated contracts 2015-09-25 15:01:31 +03:00
peter
e5d728e7a4 don't return inferred annotations that will be neglected anyway (e.g. on overrideable methods) 2014-12-03 17:40:04 +01:00
Ilya Klyuchnikov
2cec677727 Testing Inference of '@Contract(pure=true)' annotations: delta in test data 2014-10-16 08:51:38 +04:00
Ilya Klyuchnikov
582239346e bytecode analysis: no inference of "true|false->..." contracts 2014-10-01 17:50:41 +04:00
Ilya Klyuchnikov
e0f6567a5d bytecode analysis: test data delta
IDEA-129645
2014-09-25 17:01:49 +04:00
peter
70b03fb0f0 correct bytecode analysis test data 2014-09-16 17:34:57 +02:00
peter
e2ee62224c display hardcoded contracts on the gutter 2014-09-16 13:50:45 +02:00
Ilya Klyuchnikov
f28955f810 testing new @Nullable annotations 2014-09-01 17:51:25 +04:00
Ilya Klyuchnikov
44f95a9b26 testing inference of @Nullable annotations for parameters 2014-08-25 18:30:43 +04:00
Ilya Klyuchnikov
d4eb76a1c3 bytecode analysis: delta in testdata 2014-08-19 09:04:39 +04:00
Ilya Klyuchnikov
b6b6ea1880 bytecode analysis: lite persistent hashCode for Configuration
Also subtle bug with Configuration generalization was fixed - so, update in annotations.xml
2014-07-11 16:05:43 +04:00
Ilya Klyuchnikov
ce6450136f no contract annotation if method is already @NotNull 2014-07-10 10:35:49 +02:00
Ilya Klyuchnikov
6dd49cb404 update annotations after mockJDK update 2014-07-10 10:35:48 +02:00
Ilya Klyuchnikov
1e54e26b25 simple smoke test that inferred annotations are visible to codeInspection 2014-07-10 10:35:46 +02:00
Ilya Klyuchnikov
0db25e9166 arrays and primitive collections
(annotations.xml was changed because the order of graph construction was changed - this particular case is a tricky one with loop, exception and synchronization)
2014-07-10 10:35:46 +02:00
Ilya Klyuchnikov
658b710762 aligned with faba 2014-07-10 10:35:46 +02:00
Ilya Klyuchnikov
338481d263 Bytecode analysis tests 2014-07-10 10:35:43 +02:00