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