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

Collections: Add contract usage #2796

Open
wants to merge 85 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
03d4515
abstract_collection: Add contracts usage
Delja Sep 29, 2019
f6f08c9
collection/array: Add contracts usage
Delja Sep 29, 2019
f7c591d
collection/circular_array: Add contracts usage
Delja Sep 29, 2019
0cda002
collection/hash_collection: Add contracts usage
Delja Sep 29, 2019
8393ae2
collection/list: Add contracts usage
Delja Sep 29, 2019
d603aba
collection/union_find: Add contracts usage
Delja Sep 29, 2019
add16cb
tests: Update tests for collection contract
Delja Oct 3, 2019
202b022
concurrent_collections: Remove contracts
Delja Oct 24, 2019
d394075
pthread/collection: Remove contracts
Delja Oct 24, 2019
ca58d81
model_contract: Add model representation of class invariant
Delja Jul 14, 2020
3b0a52a
model_contract: Improve comment
Delja Jul 14, 2020
a02e442
astbuilder: Use the `is_fictive` flag
Delja Jul 14, 2020
5d919fd
check_annotation: Add `invariant` annotation
Delja Jul 14, 2020
6ee632e
toolcontext: Move the contract options
Delja Jul 14, 2020
8c12fde
contrats: Add `invariant` usage
Delja Jul 14, 2020
3315fab
tests: Add invariant contract tests
Delja Jul 14, 2020
27948de
man/nitc: Update man page
Delja Jul 14, 2020
36113e8
tests: Update annotation syntax test result
Delja Jul 15, 2020
1bbd98d
Merge remote-tracking branch 'origin/contract_refactoring' into old_p…
Delja Jul 27, 2020
dc16cdf
contracts: Add `old` usage
Delja Jul 27, 2020
f98614f
model_contract: Add `old` representation
Delja Jul 27, 2020
5a7c8ef
tests: Add ensure `old` tests
Delja Jul 27, 2020
924813b
tests: Update actual test result
Delja Jul 27, 2020
b85f9b4
abstract_collection: Add first contract
Delja Dec 5, 2019
049e492
collection/range: Fix the infinite loop in the contract of `first`
Delja May 28, 2020
1f88009
abstract_compiler: Add `in_assertion` flag
Delja Jul 29, 2020
35df9d8
naive_interpreter: Change the contract lock mechanism
Delja Jul 29, 2020
64fe967
contracts: Change the assertion lock mechanism
Delja Aug 2, 2020
4375990
tests: Add a test to show contracts in parallel execution
Delja Aug 2, 2020
370aff6
model/model_contract: Fix invariant
Delja Aug 20, 2020
388ac4a
model_contract: Improve comment
Delja Jul 14, 2020
200427c
astbuilder: Use the `is_fictive` flag
Delja Jul 14, 2020
7a3512a
check_annotation: Add `invariant` annotation
Delja Jul 14, 2020
bb19ec4
toolcontext: Move the contract options
Delja Jul 14, 2020
66231ed
contrats: Add `invariant` usage
Delja Jul 14, 2020
658c975
contract: error
Delja Aug 20, 2020
032ec1f
tests: Add invariant contract tests
Delja Jul 14, 2020
6a6c1df
man/nitc: Update man page
Delja Jul 14, 2020
fb61a9c
tests: Update annotation syntax test result
Delja Jul 15, 2020
30c9098
Merge branch 'contract_multy_thread'
Delja Aug 20, 2020
c6ccdfb
Merge branch 'old_post_contract'
Delja Aug 20, 2020
6f2b398
contracts: Add contract invocation counter
Delja Aug 20, 2020
a265057
abstract_compiler: Add contract invocation counter
Delja Aug 20, 2020
31a4483
src/contracts: Fix `null` omit argument error
Delja Aug 14, 2020
9be96a1
tests: Add contract test
Delja Aug 16, 2020
f924d10
Merge branch 'contract_fix_error'
Delja Aug 20, 2020
6e843ca
concurrent_collections: Fix `no_contract` warning
Delja Aug 21, 2020
afa7cda
share/man: Add `--contract-metrics` in man
Delja Aug 21, 2020
848e747
contracts: Remove weaving callsite on AAnnotation
Delja Aug 21, 2020
c15a931
circular_list: Add `[]` implementation
Delja Aug 21, 2020
1fbf342
contracts: Fix error on `=` method signature check
Delja Aug 21, 2020
88b6601
contracts: Improve old class set and get attribut
Delja Aug 22, 2020
c72128e
contracts: Add option to keep old instance
Delja Aug 22, 2020
77ca7ed
contracts: Fix if duplicate object class
Delja Aug 22, 2020
2e1c86d
share/man: Add `--keep-old-instance` option
Delja Aug 22, 2020
24dcd54
contracts: Fix Error
Delja Aug 22, 2020
7790547
model_contract: Add model representation of class invariant
Delja Jul 14, 2020
ba13320
model_contract: Improve comment
Delja Jul 14, 2020
6df2861
astbuilder: Use the `is_fictive` flag
Delja Jul 14, 2020
84d90f0
check_annotation: Add `invariant` annotation
Delja Jul 14, 2020
fff2fa1
toolcontext: Move the contract options
Delja Jul 14, 2020
66425fc
contrats: Add `invariant` usage
Delja Jul 14, 2020
ffde08c
tests: Add invariant contract tests
Delja Jul 14, 2020
c77fb03
man/nitc: Update man page
Delja Jul 14, 2020
dbe708a
tests: Update annotation syntax test result
Delja Jul 15, 2020
c4d491b
model: Replace `assert` by contract
Delja Aug 22, 2020
046565d
abstract_compiler: Add contract
Delja Aug 22, 2020
40e00f8
separate_compiler: Replace `assert` by contract
Delja Aug 22, 2020
47790ec
java_compiler: Replace `assert` by contract
Delja Aug 22, 2020
af813cb
global_compiler: Replace `assert` by contract
Delja Aug 22, 2020
9f63a9a
compiler_fii: Replace `assert` by contract
Delja Aug 22, 2020
266bdd7
compiler/coloring: Replace `assert` by contract
Delja Aug 22, 2020
b01fcf9
tests: Update tests result
Delja Aug 22, 2020
cea6b80
nitcc/grammar: Tmp fix
Delja Aug 22, 2020
8b7aff4
tests: Update test result for invariant attribute
Delja Aug 23, 2020
f09d020
tests/sav: Update test result error_class_glob
Delja Aug 24, 2020
b616453
astbuilder: Add parameter to get correct type
Delja Aug 24, 2020
8dcf67c
contract: Modify callsite creation to give recv type
Delja Aug 24, 2020
0f1b74a
contract: Replace parameter of `is_called` method
Delja Sep 5, 2020
9a63daf
contracts: Add contract options
Delja Aug 24, 2020
0f60e23
contract: Add fast exit for `null` mpropdef
Delja Sep 5, 2020
235530c
man: Add options documentation
Delja Sep 5, 2020
703d32b
Merge branch 'contract_refactoring'
Delja Sep 5, 2020
df5090b
Merge branch 'contract_in_nitc'
Delja Sep 6, 2020
da051de
Merge branch 'master' into collections_contract
Delja Sep 6, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
man: Add options documentation
Signed-off-by: Delja <deljarry.florian@gmail.com>
  • Loading branch information
Delja committed Sep 5, 2020
commit 235530ca2a05c25fc454204d70cde0fc9fbf2f51
15 changes: 15 additions & 0 deletions share/man/nitc.md
Original file line number Diff line number Diff line change
Expand Up @@ -548,6 +548,15 @@ Option used to disable the contracts(ensures, expects) usage.
### `--full-contract`
Option used to enables contracts (ensures, expects) on all classes. Warning this is an expensive option at runtime.

### `--all-ensure`
Enable all ensure usage (disable default contract strategy).

### `--all-expect`
Enable all expect usage (disable default contract strategy).

### `--all-invariant`
Enable all invariant usage (disable default contract strategy).

### `--in-out-invariant`
Option used to enable `invariant` verification on entry and exit of a method. By default, invariants are only checked on exit. Note, that the contracts are not checked on a `self` call.

Expand All @@ -557,6 +566,12 @@ Display the number of contract evaluation for each contract type.
### `--keep-old-instance`
Store the instance of `old` representation in the class and thus systematic instantiation. This option should not be used in a multi-threaded environment.

### `--true-contract`
Replace all contracts condition by `true` expression. Only for benchmark.

### `--only-lock-check-contract`
Only inject the evaluation lock state check. Only for benchmark.

# ENVIRONMENT VARIABLES

### `NIT_DIR`
Expand Down