mirror of
https://github.com/Z3Prover/z3
synced 2025-04-25 01:55:32 +00:00
102 lines
2.2 KiB
Java
102 lines
2.2 KiB
Java
/**
|
|
Copyright (c) 2012-2014 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
ParamDescrs.java
|
|
|
|
Abstract:
|
|
|
|
Author:
|
|
|
|
@author Christoph Wintersteiger (cwinter) 2012-03-15
|
|
|
|
Notes:
|
|
|
|
**/
|
|
|
|
package com.microsoft.z3;
|
|
|
|
import com.microsoft.z3.enumerations.Z3_param_kind;
|
|
|
|
/**
|
|
* A ParamDescrs describes a set of parameters.
|
|
**/
|
|
public class ParamDescrs extends Z3Object {
|
|
/**
|
|
* validate a set of parameters.
|
|
**/
|
|
public void validate(Params p)
|
|
{
|
|
|
|
Native.paramsValidate(getContext().nCtx(), p.getNativeObject(),
|
|
getNativeObject());
|
|
}
|
|
|
|
/**
|
|
* Retrieve kind of parameter.
|
|
**/
|
|
public Z3_param_kind getKind(Symbol name)
|
|
{
|
|
|
|
return Z3_param_kind.fromInt(Native.paramDescrsGetKind(
|
|
getContext().nCtx(), getNativeObject(), name.getNativeObject()));
|
|
}
|
|
|
|
/**
|
|
* Retrieve documentation of parameter.
|
|
**/
|
|
|
|
public String getDocumentation(Symbol name)
|
|
{
|
|
return Native.paramDescrsGetDocumentation(getContext().nCtx(), getNativeObject(), name.getNativeObject());
|
|
}
|
|
|
|
/**
|
|
* Retrieve all names of parameters.
|
|
*
|
|
* @throws Z3Exception
|
|
**/
|
|
public Symbol[] getNames()
|
|
{
|
|
int sz = Native.paramDescrsSize(getContext().nCtx(), getNativeObject());
|
|
Symbol[] names = new Symbol[sz];
|
|
for (int i = 0; i < sz; ++i)
|
|
{
|
|
names[i] = Symbol.create(getContext(), Native.paramDescrsGetName(
|
|
getContext().nCtx(), getNativeObject(), i));
|
|
}
|
|
return names;
|
|
}
|
|
|
|
/**
|
|
* The size of the ParamDescrs.
|
|
**/
|
|
public int size()
|
|
{
|
|
return Native.paramDescrsSize(getContext().nCtx(), getNativeObject());
|
|
}
|
|
|
|
/**
|
|
* Retrieves a string representation of the ParamDescrs.
|
|
**/
|
|
@Override
|
|
public String toString() {
|
|
return Native.paramDescrsToString(getContext().nCtx(), getNativeObject());
|
|
}
|
|
|
|
ParamDescrs(Context ctx, long obj)
|
|
{
|
|
super(ctx, obj);
|
|
}
|
|
|
|
@Override
|
|
void incRef() {
|
|
Native.paramDescrsIncRef(getContext().nCtx(), getNativeObject());
|
|
}
|
|
|
|
@Override
|
|
void addToReferenceQueue() {
|
|
getContext().getParamDescrsDRQ().storeReference(getContext(), this);
|
|
}
|
|
}
|