Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimize datastructure #156

Open
wants to merge 142 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
d428f34
Add comma
mernst Jul 5, 2020
4feace5
The POM files list only the lead developers
mernst Jul 5, 2020
2e62dc3
State earlier that utility files use the MIT license
mernst Jul 5, 2020
e4df548
Put classes in more logical order
mernst Jul 5, 2020
6bfde18
Improve formatting of Javadoc comment
mernst Jul 5, 2020
6db45f4
Bump de.undercouch.download from 4.0.4 to 4.1.0
dependabot-preview[bot] Jul 6, 2020
d7dcfe2
Add optional `message` argument to castNonNull; fixes #3424 (#3427)
mernst Jul 6, 2020
29dfee3
Permit `@UsesObjectEquals` when the class overrides equals() (#3426)
mernst Jul 6, 2020
360170a
Add Interning Checker method annotations @EqualsMethod and @CompareTo…
mernst Jul 6, 2020
70cc4f2
Fix indentation
mernst Jul 6, 2020
83305b2
Handle boxed primitives in the Signedness Checker
mernst Jul 6, 2020
7f44828
License clarification; fixes #3429
mernst Jul 6, 2020
2a9a131
Add TypeSystemError exception
smillst Jul 6, 2020
fa95fd5
Remove external links to images
olekw Jul 6, 2020
423d0a2
Fix unprintable class when param types are inferred from assignments
kelloggm Jul 7, 2020
99406ea
Emphasize that -AuseConservativeDefaultsForUncheckedCode suppresses w…
mernst Jul 7, 2020
a751028
Rename WorkingNullness to NullnessSkipSome, simplify command-line arg…
mernst Jul 7, 2020
8f1dfe6
Add `isPolymorphicQualifier` method to QualifierHierarchy class. (#3409)
smillst Jul 7, 2020
8896256
Add contributor
mernst Jul 7, 2020
dc530c3
Fix null-pointer crash in Ainfer=stubs
kelloggm Jul 7, 2020
4bd0591
Implement `@FindDistinct` formal parameter annotation
mernst Jul 7, 2020
999e2aa
Interning Checker: Use factory method to get declaration annotation. …
smillst Jul 7, 2020
ca7d2e9
Update LiveSimple.pdf. (#3421)
xingweitian Jul 7, 2020
2ec4fd3
Run Interning Checker on the Checker Framework codebase
mernst Jul 8, 2020
ad8aeec
Grammar fix
mernst Jul 8, 2020
68a9d89
Print type parameters correctly for outer classes using -Ainfer=stubs
kelloggm Jul 8, 2020
3c3ada0
Add nullness annotations to framework-test project (#3446)
mernst Jul 8, 2020
d3da57a
Test case for issue #3449
mernst Jul 8, 2020
c728dbd
Re-enable Javadoc tests
mernst Jul 9, 2020
85b5f18
Bump versions.autoValue from 1.7.3 to 1.7.4
dependabot-preview[bot] Jul 9, 2020
2f8bfe0
Use -ArequirePrefixInWarningSuppressions when type-checking CF source…
mernst Jul 9, 2020
cc5c3c7
Do not do inference on compiler-generated variables in whole-program …
kelloggm Jul 9, 2020
5436ad4
Skip directories with generated java files. (#3454)
smillst Jul 9, 2020
492f41e
Prevent local classes from being written to stub files (#3462)
jwaataja Jul 10, 2020
2b02999
Add tests for conversionCharFromFormat
mernst Jul 10, 2020
9d44208
Default array.length to @Initialized. (#3459)
smillst Jul 10, 2020
820cbbf
Add SignednessUtilExtra to checker-qual.jar (#3458)
smillst Jul 10, 2020
b087dba
Tweak regarding format specifiers
mernst Jul 10, 2020
0004ac2
Run the Nullness Checker with -AuseConservativeDefaultsForUncheckedCo…
smillst Jul 10, 2020
80ebb1e
Re-enable Javadoc tests
mernst Jul 10, 2020
ea0d493
Change "locally-modified" to "locally-built"
mernst Jul 10, 2020
1280e82
Documentation and minor refactoring
mernst Jul 12, 2020
70e3761
Add dependencies to Azure Pipelines jobs
mernst Jul 12, 2020
674c402
Add more `@AnnotatedFor`
mernst Jul 13, 2020
f87607b
Reduce latency by breaking all_tests into 2 jobs
mernst Jul 13, 2020
0b5638c
Collect info from store in Accumulation Checker
kelloggm Jul 14, 2020
661592c
Default char and Character to `@Unsigned`
mernst Jul 15, 2020
a6d05ae
Split long lines
mernst Jul 15, 2020
4e4eda9
Bump de.undercouch.download from 4.1.0 to 4.1.1
dependabot-preview[bot] Jul 16, 2020
a263ef5
Rename file to avoid multiple test cases with same name
mernst Jul 16, 2020
5621f64
StubParser documentation improvements
mernst Jul 17, 2020
1f00a84
Lombok's NonNull is a type annotation
mernst Jul 20, 2020
dbb8241
Move `getValue(Tree)` to Analysis interface. (#3420)
xingweitian Jul 20, 2020
fed0216
Don't ignore type arguments (Fixes #3443.) (#3456)
smillst Jul 20, 2020
9b1cbbd
Add test case for Issue 2383. (#3483)
smillst Jul 20, 2020
6c2cf99
Add extraArgs argument to commonAssignmentCheck
mernst Jul 20, 2020
3498970
Add -Aversion command-line option; fixes #3381
PRITI1999 Jul 20, 2020
3c29667
Add contributor
mernst Jul 21, 2020
0c00b3f
Reorder changelog
mernst Jul 21, 2020
cb8e74a
Add predicate support to accumulation checker (#3476)
kelloggm Jul 21, 2020
fb533f7
Update makefile targets for Daikon type-checking
mernst Jul 21, 2020
7c5bf4b
Reduce duplication in comments
mernst Jul 21, 2020
213e2bd
Remove needless method argument
mernst Jul 21, 2020
13261ea
Alphabetize dependencies
mernst Jul 21, 2020
8ec9df3
Another example of a method that throws if its argument is null
mernst Jul 21, 2020
c44ded4
Support unique classes (Fixes #3313) (#3336)
aditya3434 Jul 21, 2020
eafe915
Improve the documentation of Receiver (#3473)
mernst Jul 21, 2020
bc3f109
Fix grammar
DmitriyShepelev Jul 22, 2020
15cc1c9
Documentation tweaks
mernst Jul 22, 2020
f358863
Bump biz.aQute.bnd.gradle from 5.1.1 to 5.1.2
dependabot-preview[bot] Jul 22, 2020
11d7bca
Updated the number of developers
NITIN23329 Jul 22, 2020
5d8457b
Turn URLs into links
mernst Jul 23, 2020
4ad676e
Documentation tweaks
mernst Jul 23, 2020
90cdd5e
Avoid more unnecessary computation
mernst Jul 23, 2020
bc9a120
Correct the logic of dataflow framework. (#3414)
xingweitian Jul 23, 2020
d8e7924
Don't permit bottom to be null (#3497)
mernst Jul 23, 2020
90f4053
Expand information about contributing
mernst Jul 24, 2020
076e281
Contributing annotations for non-JDK libraries
mernst Jul 24, 2020
25d045f
Add a TypeHierarchy for the Signedness Checker
mernst Jul 24, 2020
6369565
Correct/Improve UpperboundFor documentation
smillst Jul 24, 2020
7b683dc
Improve DefaultTypeHierarchy documentation
mernst Jul 24, 2020
013ff9a
make mergeStubsIntoType protected
kelloggm Jul 24, 2020
941fd23
Enhance message for argument.type.incompatible
mernst Jul 24, 2020
53b4d51
Retreive @MinLen annotations from ArrayAccess receivers (#3502)
PRITI1999 Jul 24, 2020
79f0c7c
Fix spelling
mernst Jul 25, 2020
683a390
Javadoc fixes
mernst Jul 26, 2020
a726683
Adapt to JDK `@Covariant` annotations
mernst Jul 26, 2020
923531b
Bump com.gorylenko.gradle-git-properties from 2.2.2 to 2.2.3
dependabot-preview[bot] Jul 27, 2020
8f1f06d
Update the version number.
smillst Jul 27, 2020
eab075d
More information in Purity Checker messages (#3512)
mernst Jul 27, 2020
408e1dd
Add a link to Javadoc
mernst Jul 27, 2020
239c5a9
Fix usage instructions
mernst Jul 27, 2020
53a6f3c
Clarify `@Covariant` documentation in terms of clients (#3518)
mernst Jul 28, 2020
bb1e380
How to distribute a stub file
mernst Jul 28, 2020
a4b956c
Add Javadoc
t-rasmud Jul 28, 2020
3f6bd29
Fix typo
wmdietl Jul 28, 2020
1d358c4
Add parameters to the output dot file's name. (#3521)
xingweitian Jul 29, 2020
781f189
Deprecate *TypeVariable methods in QualifierHierarchy and improve doc…
smillst Jul 29, 2020
4676bdb
Fix issue 3482: Add method and class tree to CFGLambda, handle lambda…
xingweitian Jul 29, 2020
f9d4dc7
Improve CFG visualization documentation (#3514)
mernst Jul 29, 2020
52b58d5
Improve Dataflow Framework manual
mernst Jul 29, 2020
017e95d
Make CFG construction more deteriministic (#3517)
mernst Jul 29, 2020
a05fba3
Add a new parameter "--string" to CFGVisualizeLauncher (#3509)
xingweitian Jul 30, 2020
b498aac
Fix pre-commit hook
mernst Jul 30, 2020
844034d
Add SystemUtil.sleep method (#3527)
mernst Jul 31, 2020
e8be209
Add dump-on-error option (Fixes #1395) (#3406)
aditya3434 Jul 31, 2020
c46765e
Improve UserError message in createActiveOptions() (#3530)
PRITI1999 Jul 31, 2020
b7f353d
Interface should not reference implementation subclasses
mernst Jul 31, 2020
d9e984f
Improve defaults for local variables with a qualifier parameter (#3503)
jwaataja Jul 31, 2020
50baa53
Remove FrameworkPer[Directory/File]Test and use CheckerFramework vers…
wmdietl Jul 31, 2020
b117399
Improve option handling (Fixes #3528) (#3537)
wmdietl Jul 31, 2020
7200178
Visualize CFGs without package names (#3516)
mernst Jul 31, 2020
32a57f2
Support remove() in iterator (#3538)
mernst Jul 31, 2020
271497a
Improve documentation
mernst Jul 31, 2020
1234f80
Make @DefaultFor and @DefaultQualifierForUse consistent
smillst Jul 31, 2020
299c191
Run Error Prone on every compile
smillst Aug 1, 2020
4272294
Change block labels from long to Object; this makes formatting more f…
mernst Aug 1, 2020
627c921
Another justification for annotating an entire file
mernst Aug 1, 2020
ee56f99
Don't use deprecated class
mernst Aug 2, 2020
e16123b
Bump plume-util from 1.1.4 to 1.1.5
dependabot-preview[bot] Aug 3, 2020
c9c65d1
Propagate length information from argument to return value of Arrays.…
PRITI1999 Aug 3, 2020
a8a4e50
Prep for release.
smillst Aug 3, 2020
3611815
new release 3.6.0
smillst Aug 3, 2020
b087452
Fix dataflow test classpath. (#3548)
smillst Aug 3, 2020
75151d1
Update version to 3.6.1-SNAPSHOT.
smillst Aug 3, 2020
2f26266
Merge branch 'master' of github.com:typetools/checker-framework
smillst Aug 3, 2020
d0eaf34
Only use reference equality.
wmdietl Aug 4, 2020
48ea6d0
Add test case from #3550.
wmdietl Aug 4, 2020
8fbe02d
Do pluggable type-checking in misc CI job
mernst Aug 4, 2020
07f8f42
Change file name to match the class it contains
mernst Aug 4, 2020
3c0c443
Improve whitespace style
mernst Aug 4, 2020
ea06f48
Rename `TestChecker` class
mernst Aug 4, 2020
1e1fba9
Make indentation consistent
mernst Aug 4, 2020
592122d
Ensure forking when invoking javac
mernst Aug 4, 2020
d57aec2
Concision
mernst Aug 4, 2020
8264dc1
Another symptom of not using the Checker Framework compiler
mernst Aug 4, 2020
bac8adb
Add link to CFI
mernst Aug 4, 2020
c6f0ebf
Suppress interning warnings. Fix javadoc.
wmdietl Aug 4, 2020
d5d9069
Move getSuccessors() into Block (#3534)
mernst Aug 4, 2020
39221e3
Undo change.
wmdietl Aug 4, 2020
dbdf063
Merge branch 'master' of github.com:typetools/checker-framework into …
wmdietl Aug 4, 2020
1c825bd
Improve interning annotations
mernst Aug 5, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
22 changes: 17 additions & 5 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Contributing to the Checker Framework

Thank you for contributing to the Checker Framework! This project is a
community effort of [more than 90
community effort of [more than 110
developers](https://checkerframework.org/manual/#credits), plus countless
more people who have contributed bug reports and feature suggestions. We
couldn't do it without your help.
Expand All @@ -19,18 +19,30 @@ bug, and we want to fix it. Please report it.

## Submitting changes

Please see the [pull requests](https://rawgit.com/typetools/checker-framework/master/docs/developer/developer-manual.html#pull-requests) section of the Developer Manual.
Please see the [pull
requests](https://rawgit.com/typetools/checker-framework/master/docs/developer/developer-manual.html#pull-requests)
section of the Developer Manual.

Submit changes to the annotated JDK at https://github.com/typetools/jdk/pulls .
Annotations for other libraries can be contributed as stub files in this
repository, in a fork of the library in https://github.com/typetools/, or
in the library's own repository.

Do you want to contribute to the project, but you are not sure what issue
to fix or what feature to add? Use the tool in your daily work, and when
you encounter a limitation that bothers you, fix that one.
you encounter a limitation that bothers you, fix that one. The ["help
wanted"](https://github.com/typetools/checker-framework/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22)
label marks issues that require less deep knowledge and may be appropriate
for a newcomer to the codebase.


## License

By contributing, you agree that your contributions will be licensed under the existing [license](LICENSE.txt), usually GPL2 or MIT License.
By contributing, you agree that your contributions will be licensed under the
existing [license](LICENSE.txt), usually GPL2 or MIT License.


## Code of conduct

In interactions with other people, please abide by the [Contributor Covenant](https://www.contributor-covenant.org/version/2/0/code_of_conduct).
When interacting with other people, please abide by the [Contributor
Covenant](https://www.contributor-covenant.org/version/2/0/code_of_conduct).
45 changes: 25 additions & 20 deletions LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,34 +6,39 @@ Most of the Checker Framework is licensed under the GNU General Public
License, version 2 (GPL2), with the classpath exception. The text of this
license appears below. This is the same license used for OpenJDK.

A few parts of the Checker Framework have more permissive licenses.

* The annotations are licensed under the MIT License. (The text of this
license also appears below.) More specifically, all the parts of the
Checker Framework that you might want to include with your own program
use the MIT License. This is the checker-qual*.jar and
checker-compat-qual*.jar files and all the files that appear in them:
every file in a qual/ directory, plus utility files such as
NullnessUtil.java, RegexUtil.java, SignednessUtil.java, etc. In
addition, the cleanroom implementations of third-party annotations,
which the Checker Framework recognizes as aliases for its own
annotations, are licensed under the MIT License.

Some external libraries that are included with the Checker Framework have
different licenses.
A few parts of the Checker Framework have more permissive licenses, notably
the parts that you might want to include with your own program.

* The annotations and utility files are licensed under the MIT License.
(The text of this license also appears below.) This applies to the
checker-qual*.jar and all the files that appear in it: every file in a
qual/ directory, plus utility files FormatUtil.java,
I18nFormatUtil.java, NullnessUtil.java, Opt.java, PurityUnqualified.java,
RegexUtil.java, SignednessUtil.java, SignednessUtilExtra.java, and
UnitsTools.java. It also applies to the cleanroom implementations of
third-party annotations (in checker/src/testannotations/ and in
framework/src/main/java/org/jmlspecs/).

The Checker Framework includes annotations for some libraries. Those in
.astub files use the MIT License. Those in https://github.com/typetools/jdk
(which appears in the annotated-jdk directory of file checker.jar) use the
GPL2 license.

Some external libraries that are included with the Checker Framework
distribution have different licenses. Here are some examples.

* javaparser is dual licensed under the LGPL or the Apache license -- you
may use it under whichever one you want. (The javaparser source code
contains a file with the text of the GPL, but it is not clear why, since
javaparser does not use the GPL.) See file stubparser/LICENSE
and the source code of all its files.
javaparser does not use the GPL.) See
https://github.com/typetools/stubparser .

* Annotation Tools (https://github.com/typetools/annotation-tools) uses
the MIT license.

* Libraries in plume-lib (https://github.com/plume-lib/) are licensed
under the MIT License.

The Checker Framework includes annotations for some libraries. Each annotated
library uses the same license as the unannotated version of the library.

===========================================================================

The GNU General Public License (GPL)
Expand Down
75 changes: 65 additions & 10 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,25 +10,55 @@ pr:


jobs:
- job: all_tests_jdk8
- job: junit_tests_jdk8
dependsOn:
- junit_tests_jdk11
- nonjunit_tests_jdk11
- misc_jdk11
pool:
vmImage: 'ubuntu-latest'
container: mdernst/cf-ubuntu-jdk8:latest
steps:
- checkout: self
fetchDepth: 25
- bash: ./checker/bin-devel/test-cftests-all.sh
displayName: test-cftests-all.sh
- job: all_tests_jdk11
- bash: ./checker/bin-devel/test-cftests-junit.sh
displayName: test-cftests-junit.sh
- job: junit_tests_jdk11
pool:
vmImage: 'ubuntu-latest'
container: mdernst/cf-ubuntu-jdk11:latest
steps:
- checkout: self
fetchDepth: 25
- bash: ./checker/bin-devel/test-cftests-all.sh
displayName: test-cftests-all.sh
- bash: ./checker/bin-devel/test-cftests-junit.sh
displayName: test-cftests-junit.sh
- job: nonjunit_tests_jdk8
dependsOn:
- junit_tests_jdk11
- nonjunit_tests_jdk11
- misc_jdk11
pool:
vmImage: 'ubuntu-latest'
container: mdernst/cf-ubuntu-jdk8:latest
steps:
- checkout: self
fetchDepth: 25
- bash: ./checker/bin-devel/test-cftests-nonjunit.sh
displayName: test-cftests-nonjunit.sh
- job: nonjunit_tests_jdk11
pool:
vmImage: 'ubuntu-latest'
container: mdernst/cf-ubuntu-jdk11:latest
steps:
- checkout: self
fetchDepth: 25
- bash: ./checker/bin-devel/test-cftests-nonjunit.sh
displayName: test-cftests-nonjunit.sh
- job: misc_jdk8
dependsOn:
- junit_tests_jdk11
- nonjunit_tests_jdk11
- misc_jdk11
pool:
vmImage: 'ubuntu-latest'
container: mdernst/cf-ubuntu-jdk8-plus:latest
Expand All @@ -47,6 +77,11 @@ jobs:
- bash: ./checker/bin-devel/test-misc.sh
displayName: test-misc.sh
- job: cf_inference_jdk8
dependsOn:
- junit_tests_jdk11
- nonjunit_tests_jdk11
- misc_jdk11
- cf_inference_jdk11
pool:
vmImage: 'ubuntu-latest'
container: mdernst/cf-ubuntu-jdk8:latest
Expand All @@ -65,6 +100,11 @@ jobs:
- bash: ./checker/bin-devel/test-cf-inference.sh
displayName: test-cf-inference.sh
- job: daikon_jdk8
dependsOn:
- junit_tests_jdk11
- nonjunit_tests_jdk11
- misc_jdk11
- daikon_jdk11
pool:
vmImage: 'ubuntu-latest'
container: mdernst/cf-ubuntu-jdk8:latest
Expand All @@ -83,6 +123,11 @@ jobs:
- bash: ./checker/bin-devel/test-daikon.sh
displayName: test-daikon.sh
- job: guava_jdk8
dependsOn:
- junit_tests_jdk11
- nonjunit_tests_jdk11
- misc_jdk11
- guava_jdk11
pool:
vmImage: 'ubuntu-latest'
container: mdernst/cf-ubuntu-jdk8:latest
Expand All @@ -103,6 +148,11 @@ jobs:
- bash: ./checker/bin-devel/test-guava.sh
displayName: test-guava.sh
- job: plume_lib_jdk8
dependsOn:
- junit_tests_jdk11
- nonjunit_tests_jdk11
- misc_jdk11
- plume_lib_jdk11
pool:
vmImage: 'ubuntu-latest'
container: mdernst/cf-ubuntu-jdk8:latest
Expand All @@ -120,19 +170,24 @@ jobs:
fetchDepth: 25
- bash: ./checker/bin-devel/test-plume-lib.sh
displayName: test-plume-lib.sh
- job: downstream_jdk11
- job: downstream_jdk8
dependsOn:
- junit_tests_jdk11
- nonjunit_tests_jdk11
- misc_jdk11
- downstream_jdk11
pool:
vmImage: 'ubuntu-latest'
container: mdernst/cf-ubuntu-jdk11:latest
container: mdernst/cf-ubuntu-jdk8:latest
steps:
- checkout: self
fetchDepth: 25
- bash: ./checker/bin-devel/test-downstream.sh
displayName: test-downstream.sh
- job: downstream_jdk8
- job: downstream_jdk11
pool:
vmImage: 'ubuntu-latest'
container: mdernst/cf-ubuntu-jdk8:latest
container: mdernst/cf-ubuntu-jdk11:latest
steps:
- checkout: self
fetchDepth: 25
Expand Down
Loading