mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
Java API: 32-bit issues and bugfixes.
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
This commit is contained in:
parent
9b2236361c
commit
692593baaa
8 changed files with 119 additions and 71 deletions
|
@ -37,10 +37,15 @@ public class AST extends Z3Object
|
|||
**/
|
||||
public boolean equals(Object o)
|
||||
{
|
||||
AST casted = (AST) o;
|
||||
if (casted == null)
|
||||
return false;
|
||||
return this == casted;
|
||||
AST casted = null;
|
||||
|
||||
try {
|
||||
casted = AST.class.cast(o);
|
||||
} catch (ClassCastException e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return this.NativeObject() == casted.NativeObject();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -53,18 +58,20 @@ public class AST extends Z3Object
|
|||
{
|
||||
if (other == null)
|
||||
return 1;
|
||||
AST oAST = (AST) other;
|
||||
if (oAST == null)
|
||||
return 1;
|
||||
else
|
||||
{
|
||||
if (Id() < oAST.Id())
|
||||
return -1;
|
||||
else if (Id() > oAST.Id())
|
||||
return +1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
AST oAST = null;
|
||||
try {
|
||||
AST.class.cast(other);
|
||||
} catch (ClassCastException e) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (Id() < oAST.Id())
|
||||
return -1;
|
||||
else if (Id() > oAST.Id())
|
||||
return +1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -524,7 +524,7 @@ public class Context extends IDisposable
|
|||
public Expr MkConst(FuncDecl f) throws Z3Exception
|
||||
{
|
||||
|
||||
return MkApp(f, (Expr) null);
|
||||
return MkApp(f, (Expr[]) null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -16,7 +16,6 @@ public class EnumSort extends Sort
|
|||
**/
|
||||
public FuncDecl[] ConstDecls()
|
||||
{
|
||||
|
||||
return _constdecls;
|
||||
}
|
||||
|
||||
|
@ -25,7 +24,6 @@ public class EnumSort extends Sort
|
|||
**/
|
||||
public Expr[] Consts()
|
||||
{
|
||||
|
||||
return _consts;
|
||||
}
|
||||
|
||||
|
@ -34,7 +32,6 @@ public class EnumSort extends Sort
|
|||
**/
|
||||
public FuncDecl[] TesterDecls()
|
||||
{
|
||||
|
||||
return _testerdecls;
|
||||
}
|
||||
|
||||
|
@ -53,12 +50,12 @@ public class EnumSort extends Sort
|
|||
n_constdecls, n_testers));
|
||||
_constdecls = new FuncDecl[n];
|
||||
for (int i = 0; i < n; i++)
|
||||
_constdecls[i] = new FuncDecl(ctx, n_constdecls[i]);
|
||||
_constdecls[i] = new FuncDecl(ctx, n_constdecls[i]);
|
||||
_testerdecls = new FuncDecl[n];
|
||||
for (int i = 0; i < n; i++)
|
||||
_testerdecls[i] = new FuncDecl(ctx, n_testers[i]);
|
||||
_testerdecls[i] = new FuncDecl(ctx, n_testers[i]);
|
||||
_consts = new Expr[n];
|
||||
for (int i = 0; i < n; i++)
|
||||
_consts[i] = ctx.MkApp(_constdecls[i], (Expr)null);
|
||||
_consts[i] = ctx.MkApp(_constdecls[i], (Expr[])null);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -159,13 +159,14 @@ public class Quantifier extends BoolExpr
|
|||
.NativeObject()));
|
||||
} else
|
||||
{
|
||||
setNativeObject(Native.mkQuantifierEx(ctx.nCtx(), (isForall) ? true
|
||||
: false, weight, AST.GetNativeObject(quantifierID), AST
|
||||
.GetNativeObject(skolemID), AST.ArrayLength(patterns), AST
|
||||
.ArrayToNative(patterns), AST.ArrayLength(noPatterns), AST
|
||||
.ArrayToNative(noPatterns), AST.ArrayLength(sorts), AST
|
||||
.ArrayToNative(sorts), Symbol.ArrayToNative(names), body
|
||||
.NativeObject()));
|
||||
setNativeObject(Native.mkQuantifierEx(ctx.nCtx(),
|
||||
(isForall) ? true : false, weight, AST.GetNativeObject(quantifierID),
|
||||
AST.GetNativeObject(skolemID),
|
||||
AST.ArrayLength(patterns), AST.ArrayToNative(patterns),
|
||||
AST.ArrayLength(noPatterns), AST.ArrayToNative(noPatterns),
|
||||
AST.ArrayLength(sorts), AST.ArrayToNative(sorts),
|
||||
Symbol.ArrayToNative(names),
|
||||
body.NativeObject()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -39,10 +39,15 @@ public class Sort extends AST
|
|||
**/
|
||||
public boolean equals(Object o)
|
||||
{
|
||||
Sort casted = (Sort) o;
|
||||
if (casted == null)
|
||||
return false;
|
||||
return this == casted;
|
||||
Sort casted = null;
|
||||
|
||||
try {
|
||||
casted = Sort.class.cast(o);
|
||||
} catch (ClassCastException e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return this.NativeObject() == casted.NativeObject();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -104,7 +104,7 @@ public class Z3Object extends IDisposable
|
|||
return null;
|
||||
long[] an = new long[a.length];
|
||||
for (int i = 0; i < a.length; i++)
|
||||
an[i] = a[i].NativeObject();
|
||||
an[i] = (a[i] == null) ? 0 : a[i].NativeObject();
|
||||
return an;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue