mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-04 13:29:11 +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