wrap by contract work
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@4815 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
24189daf29
commit
24b8d3cb49
2 changed files with 22 additions and 3 deletions
|
|
@ -1,6 +1,28 @@
|
||||||
Version 1.3.20 (In progress)
|
Version 1.3.20 (In progress)
|
||||||
============================
|
============================
|
||||||
|
05/21/2003: songyanf (Tiger)
|
||||||
|
Added -contracts option.
|
||||||
|
First try of the idea of "Wrap by Contract":
|
||||||
|
build up realiable cross-language module by wrapping with SWIG.
|
||||||
|
Implemented basic assertion
|
||||||
|
(preassertion & postassertion & invariant)
|
||||||
|
for simple C/C++ functions.
|
||||||
|
|
||||||
|
Current format of contracts are:
|
||||||
|
%contract class_name :: func_name (paras...) {
|
||||||
|
require:
|
||||||
|
boolean exprs;
|
||||||
|
exprs;
|
||||||
|
ensure:
|
||||||
|
boolean expr;
|
||||||
|
exprs;
|
||||||
|
invariant:
|
||||||
|
boolean expr;
|
||||||
|
exprs;
|
||||||
|
}
|
||||||
|
|
||||||
|
*** NEW FEATURE ***
|
||||||
|
|
||||||
05/19/2003: cheetah (William Fulton)
|
05/19/2003: cheetah (William Fulton)
|
||||||
Build tweaks. There were a few preprocessor definitions which were
|
Build tweaks. There were a few preprocessor definitions which were
|
||||||
specified in the Makefile for passing on the commandline when compiling.
|
specified in the Makefile for passing on the commandline when compiling.
|
||||||
|
|
|
||||||
|
|
@ -192,9 +192,6 @@ int SWIG_main(int argc, char *argv[], Language *l) {
|
||||||
|
|
||||||
DOH *libfiles = 0;
|
DOH *libfiles = 0;
|
||||||
DOH *cpps = 0 ;
|
DOH *cpps = 0 ;
|
||||||
extern void Swig_contracts(Node *n);
|
|
||||||
extern void Swig_contract_mode_set(int flag);
|
|
||||||
extern int Swig_contract_mode_get();
|
|
||||||
extern void Swig_browser(Node *n, int);
|
extern void Swig_browser(Node *n, int);
|
||||||
extern void Swig_default_allocators(Node *n);
|
extern void Swig_default_allocators(Node *n);
|
||||||
extern void Swig_process_types(Node *n);
|
extern void Swig_process_types(Node *n);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue