File: README

package info (click to toggle)
checker-framework-java 3.2.0%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 23,104 kB
  • sloc: java: 145,916; xml: 839; sh: 518; makefile: 404; perl: 26
file content (30 lines) | stat: -rw-r--r-- 1,667 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
All tests for the whole-program-inference feature must be added to the
"non-annotated" folder. These tests must have expected error comments
(// :: error...) in places where the type-checker issues an error.
These are locations that an annotation is needed for it to
type-check. Also, these tests must ONLY have expected error comments for those
cases -- no other expected errors comments should be added.

The task wholeProgramInferenceTests tests the whole-program inference
in three steps:
1. The WholeProgramInferenceTest Checker will type-check all files in the
"non-annotated" folder, writing the inferred types of some elements into
.jaif files. The inferred types are written into .jaif files, but are not
considered during this type-check -- for that reason the expected error comments
are necessary.

2. All tests in "non-annotated" are copied to a temporary directory, named
"annotated". All expected error comments are removed from the files in
"annotated", and the insert-annotations-to-source tool will insert the
annotations that were inferred in the previous step into the files of the
temporary directory.

3. The WholeProgramInferenceValidationTest Checker will type-check all files in
the temporary "annotated" folder. The expected error comments were removed,
but the inferred types that were inserted should remove their occurrence during
the type-checking.

In order to test that an error will persist even after the whole-program inference,
this expected error must be added to the "non-annotated/ExpectedErrors.java"
file. This is the only file where the expected error comments are not removed
when copied to "annotated/ExpectedErrors.java".