Removed contract code from swigmod.h. Violates intended modularity of this file.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5186 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Dave Beazley 2003-10-09 15:57:54 +00:00
commit 62c35e3579
5 changed files with 47 additions and 38 deletions

View file

@ -16,6 +16,41 @@ char cvsroot_contract_cxx[] = "$Header$";
#include "swigmod.h"
/************************************************************************
* class Contracts:
*
* This class defines the functions that need to be used in
* "wrap by contract" module.
*************************************************************************/
class Contracts : public Dispatcher {
public:
int ContractSplit(Node *n);
int AssertModify(Node *n, int flag);
int InheritModify(Node *n);
int InheritAssertAppend(Node *n, Node *bases);
int AssertAddTag(Node *n);
int AssertAddErrorMsg(Node *n);
int AssertSetParms(Node *n);
int emit_contract(Node *n);
int cDeclaration(Node *n);
int constructorDeclaration(Node *n);
int destructorDeclaration(Node *n);
int externDeclaration(Node *n);
int extendDirective(Node *n);
int importDirective(Node *n);
int includeDirective(Node *n);
int classDeclaration(Node *n);
int classHandler(Node *n);
virtual int top(Node *n);
};
extern void Swig_contracts(Node *n);
extern void Swig_contract_mode_set(int flag);
extern int Swig_contract_mode_get();
#define SWIG_PREASSERT "require:"
#define SWIG_POSTASSERT "ensure:"
#define SWIG_INVARIANT "invariant:"