mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
revert some changes to how 'out' parameters are annotated on API calls. Retain the 'out' annotation for so-called managed out parameters. The data-type examples in managed API fail with the out parameter annotation as no memory is allocated on instances of out parameters, other than the interpolation APIs that are new
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
7767a23626
commit
fe4a8b44a5
5 changed files with 12 additions and 10 deletions
|
@ -50,7 +50,7 @@ namespace Microsoft.Z3
|
|||
IntPtr constructor = IntPtr.Zero;
|
||||
IntPtr tester = IntPtr.Zero;
|
||||
IntPtr[] accessors = new IntPtr[n];
|
||||
Native.Z3_query_constructor(Context.nCtx, NativeObject, n, ref constructor, ref tester, out accessors);
|
||||
Native.Z3_query_constructor(Context.nCtx, NativeObject, n, ref constructor, ref tester, accessors);
|
||||
return new FuncDecl(Context, constructor);
|
||||
}
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ namespace Microsoft.Z3
|
|||
IntPtr constructor = IntPtr.Zero;
|
||||
IntPtr tester = IntPtr.Zero;
|
||||
IntPtr[] accessors = new IntPtr[n];
|
||||
Native.Z3_query_constructor(Context.nCtx, NativeObject, n, ref constructor, ref tester, out accessors);
|
||||
Native.Z3_query_constructor(Context.nCtx, NativeObject, n, ref constructor, ref tester, accessors);
|
||||
return new FuncDecl(Context, tester);
|
||||
}
|
||||
}
|
||||
|
@ -82,7 +82,7 @@ namespace Microsoft.Z3
|
|||
IntPtr constructor = IntPtr.Zero;
|
||||
IntPtr tester = IntPtr.Zero;
|
||||
IntPtr[] accessors = new IntPtr[n];
|
||||
Native.Z3_query_constructor(Context.nCtx, NativeObject, n, ref constructor, ref tester, out accessors);
|
||||
Native.Z3_query_constructor(Context.nCtx, NativeObject, n, ref constructor, ref tester, accessors);
|
||||
FuncDecl[] t = new FuncDecl[n];
|
||||
for (uint i = 0; i < n; i++)
|
||||
t[i] = new FuncDecl(Context, accessors[i]);
|
||||
|
|
|
@ -424,7 +424,7 @@ namespace Microsoft.Z3
|
|||
n_constr[i] = cla[i].NativeObject;
|
||||
}
|
||||
IntPtr[] n_res = new IntPtr[n];
|
||||
Native.Z3_mk_datatypes(nCtx, n, Symbol.ArrayToNative(names), out n_res, n_constr);
|
||||
Native.Z3_mk_datatypes(nCtx, n, Symbol.ArrayToNative(names), n_res, n_constr);
|
||||
DatatypeSort[] res = new DatatypeSort[n];
|
||||
for (uint i = 0; i < n; i++)
|
||||
res[i] = new DatatypeSort(this, n_res[i]);
|
||||
|
|
|
@ -88,7 +88,7 @@ namespace Microsoft.Z3
|
|||
IntPtr[] n_constdecls = new IntPtr[n];
|
||||
IntPtr[] n_testers = new IntPtr[n];
|
||||
NativeObject = Native.Z3_mk_enumeration_sort(ctx.nCtx, name.NativeObject, (uint)n,
|
||||
Symbol.ArrayToNative(enumNames), out n_constdecls, out n_testers);
|
||||
Symbol.ArrayToNative(enumNames), n_constdecls, n_testers);
|
||||
}
|
||||
#endregion
|
||||
};
|
||||
|
|
|
@ -74,10 +74,10 @@ namespace Microsoft.Z3
|
|||
Contract.Requires(name != null);
|
||||
|
||||
IntPtr t = IntPtr.Zero;
|
||||
IntPtr[] f;
|
||||
IntPtr[] f = new IntPtr[numFields];
|
||||
NativeObject = Native.Z3_mk_tuple_sort(ctx.nCtx, name.NativeObject, numFields,
|
||||
Symbol.ArrayToNative(fieldNames), AST.ArrayToNative(fieldSorts),
|
||||
ref t, out f);
|
||||
ref t, f);
|
||||
}
|
||||
#endregion
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue