git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5078 626c5289-ae23-0410-ae9c-e8d60b6d4f22
28 lines
435 B
OpenEdge ABL
28 lines
435 B
OpenEdge ABL
%module example
|
|
|
|
%contract Circle::Circle(double radius) {
|
|
require:
|
|
radius > 0;
|
|
}
|
|
|
|
%contract Circle::area(void) {
|
|
ensure:
|
|
area > 0;
|
|
}
|
|
|
|
%contract Shape::move(double dx, double dy) {
|
|
require:
|
|
dx > 0;
|
|
}
|
|
|
|
/* should be no effect, since there is no move() for class Circle */
|
|
%contract Circle::move(double dx, double dy) {
|
|
require:
|
|
dy > 1;
|
|
}
|
|
|
|
# include must be after contracts
|
|
%{
|
|
#include "example.h"
|
|
%}
|
|
%include "example.h"
|