3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 16:45:31 +00:00

Merge branch 'unstable' of https://git01.codeplex.com/z3 into unstable

This commit is contained in:
Nikolaj Bjorner 2012-11-28 13:44:22 -08:00
commit 56a555a587
9 changed files with 50 additions and 49 deletions

View file

@ -2974,23 +2974,15 @@ public class Context extends IDisposable
void CheckContextMatch(Z3Object other) throws Z3Exception
{
if (this == other.Context())
throw new Z3Exception("Context mismatch");
if (this != other.Context())
throw new Z3Exception("Context mismatch");
}
void CheckContextMatch(Z3Object[] arr) throws Z3Exception
{
if (arr != null)
{
for (Z3Object a : arr)
{
// It was an assume, now we added the precondition, and we made
// it into an assert
CheckContextMatch(a);
}
}
if (arr != null)
for (Z3Object a : arr)
CheckContextMatch(a);
}
private ASTDecRefQueue m_AST_DRQ = new ASTDecRefQueue();
@ -3091,8 +3083,6 @@ public class Context extends IDisposable
**/
protected void finalize()
{
// Console.WriteLine("Context Finalizer from " +
// System.Threading.Thread.CurrentThread.ManagedThreadId);
Dispose();
if (m_refCount == 0)
@ -3102,6 +3092,7 @@ public class Context extends IDisposable
m_ctx = 0;
} else
/* re-queue the finalizer */
/* BUG: DRQ's need to be taken over too! */
new Context(m_ctx, m_refCount, m_n_err_handler);
}
@ -3110,8 +3101,6 @@ public class Context extends IDisposable
**/
public void Dispose()
{
// Console.WriteLine("Context Dispose from " +
// System.Threading.Thread.CurrentThread.ManagedThreadId);
m_AST_DRQ.Clear(this);
m_ASTMap_DRQ.Clear(this);
m_ASTVector_DRQ.Clear(this);

View file

@ -104,13 +104,12 @@ public class Z3Object extends IDisposable
return null;
long[] an = new long[a.length];
for (int i = 0; i < a.length; i++)
if (a[i] != null)
an[i] = a[i].NativeObject();
an[i] = a[i].NativeObject();
return an;
}
static int ArrayLength(Z3Object[] a)
{
return (a == null) ? 0 : (int) a.length;
return (a == null) ? 0 : a.length;
}
}

View file

@ -994,7 +994,7 @@ namespace datalog {
p.insert(":profile-timeout-milliseconds", CPK_UINT, "instructions and rules that took less than the threshold will not be printed when printed the instruction/rule list");
p.insert(":print-with-fixedpoint-extensions", CPK_BOOL, "(default true) use SMT-LIB2 fixedpoint extensions, instead of pure SMT2, when printing rules");
p.insert(":print-low-level-smt2", CPK_BOOL, "(default true) use (faster) low-level SMT2 printer (the printer is scalable but the result may not be as readable)");
p.insert(":print-low-level-smt2", CPK_BOOL, "(default false) use (faster) low-level SMT2 printer (the printer is scalable but the result may not be as readable)");
PRIVATE_PARAMS(
p.insert(":dbg-fpr-nonempty-relation-signature", CPK_BOOL,
@ -1651,7 +1651,7 @@ namespace datalog {
expr_ref_vector rules(m);
svector<symbol> names;
bool use_fixedpoint_extensions = m_params.get_bool(":print-with-fixedpoint-extensions", true);
bool print_low_level = m_params.get_bool(":print-low-level-smt2", true);
bool print_low_level = m_params.get_bool(":print-low-level-smt2", false);
#define PP(_e_) if (print_low_level) out << mk_smt_pp(_e_, m); else ast_smt2_pp(out, _e_, env, params);

View file

@ -308,7 +308,7 @@ void strategic_solver::pop(unsigned n) {
unsigned strategic_solver::get_scope_level() const {
if (m_ctx == 0)
return 0;
return m_ctx->m_assertions.size();
return m_ctx->m_scopes.size();
}
struct aux_timeout_eh : public event_handler {