Fix #162 - contracts for member functions with out parameters.

Also documented the code and changed it to explicitly use IN_LLVM
for the LDC specific parts in order to make debugging/frontend
merging easier.
This commit is contained in:
David Nadlinger
2012-09-17 00:29:35 +02:00
parent 0e6639f6be
commit 9e64918efd
2 changed files with 71 additions and 14 deletions

View File

@@ -740,8 +740,12 @@ struct FuncDeclaration : Declaration
FuncDeclaration *fdrequire; // function that does the in contract
FuncDeclaration *fdensure; // function that does the out contract
#if IN_LLVM
// Argument lists for the __require/__ensure calls. NULL if not a virtual
// function with contracts.
Expressions *fdrequireParams;
Expressions *fdensureParams;
#endif
Identifier *outId; // identifier for out statement
VarDeclaration *vresult; // variable corresponding to outId