mirror of
https://github.com/Z3Prover/z3
synced 2025-07-18 18:36:41 +00:00
remove dependencies on contracts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
12fc670839
commit
3d37060fa9
72 changed files with 734 additions and 1232 deletions
|
@ -17,26 +17,24 @@ Notes:
|
|||
|
||||
--*/
|
||||
|
||||
using System.Diagnostics;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using System.Diagnostics.Contracts;
|
||||
|
||||
namespace Microsoft.Z3
|
||||
{
|
||||
/// <summary>
|
||||
/// DecRefQueue interface
|
||||
/// </summary>
|
||||
[ContractClass(typeof(DecRefQueueContracts))]
|
||||
public abstract class IDecRefQueue
|
||||
{
|
||||
#region Object invariant
|
||||
|
||||
[ContractInvariantMethod]
|
||||
private void ObjectInvariant()
|
||||
{
|
||||
Contract.Invariant(this.m_queue != null);
|
||||
Debug.Assert(this.m_queue != null);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -61,7 +59,7 @@ namespace Microsoft.Z3
|
|||
|
||||
internal void IncAndClear(Context ctx, IntPtr o)
|
||||
{
|
||||
Contract.Requires(ctx != null);
|
||||
Debug.Assert(ctx != null);
|
||||
|
||||
IncRef(ctx, o);
|
||||
if (m_queue.Count >= m_move_limit) Clear(ctx);
|
||||
|
@ -79,7 +77,7 @@ namespace Microsoft.Z3
|
|||
|
||||
internal void Clear(Context ctx)
|
||||
{
|
||||
Contract.Requires(ctx != null);
|
||||
Debug.Assert(ctx != null);
|
||||
|
||||
lock (m_lock)
|
||||
{
|
||||
|
@ -90,17 +88,16 @@ namespace Microsoft.Z3
|
|||
}
|
||||
}
|
||||
|
||||
[ContractClassFor(typeof(IDecRefQueue))]
|
||||
abstract class DecRefQueueContracts : IDecRefQueue
|
||||
{
|
||||
internal override void IncRef(Context ctx, IntPtr obj)
|
||||
{
|
||||
Contract.Requires(ctx != null);
|
||||
Debug.Assert(ctx != null);
|
||||
}
|
||||
|
||||
internal override void DecRef(Context ctx, IntPtr obj)
|
||||
{
|
||||
Contract.Requires(ctx != null);
|
||||
Debug.Assert(ctx != null);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue