21 using System.Diagnostics.Contracts;
23 namespace Microsoft.Z3
31 [ContractVerification(
true)]
41 Contract.Ensures(Contract.Result<
string>() != null);
51 public ParamDescrs ParameterDescriptions
62 Contract.Requires(g != null);
63 Contract.Ensures(Contract.Result<
ApplyResult>() != null);
82 Contract.Requires(g != null);
83 Contract.Ensures(Contract.Result<
ApplyResult>() != null);
97 Contract.Ensures(Contract.Result<
Solver>() != null);
107 Contract.Requires(ctx != null);
109 internal Tactic(Context ctx,
string name)
112 Contract.Requires(ctx != null);
115 internal class DecRefQueue : Z3.DecRefQueue
117 public override void IncRef(Context ctx, IntPtr obj)
119 Native.Z3_tactic_inc_ref(ctx.nCtx, obj);
122 public override void DecRef(Context ctx, IntPtr obj)
124 Native.Z3_tactic_dec_ref(ctx.nCtx, obj);
128 internal override void IncRef(IntPtr o)
130 Context.Tactic_DRQ.IncAndClear(Context, o);
134 internal override void DecRef(IntPtr o)
136 Context.Tactic_DRQ.Add(o);