Commit Graph

31 Commits

Author SHA1 Message Date
Tagir Valeev
b414748d24 BytecodeAnalysis: force purity of enum.ordinal() and array.clone() 2018-01-15 16:29:57 +07:00
Maxim.Mossienko
4d165172dd update testdata to reflect newer mock jdk 1.7 2017-06-13 15:09:42 +02: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
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
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