pub struct IFn {
pub signature: ISignature,
pub variables: BTreeMap<IVarId, IVarInfo>,
pub block: IBlock,
}Fields§
§signature: ISignature§variables: BTreeMap<IVarId, IVarInfo>§block: IBlockImplementations§
Source§impl IFn
impl IFn
pub fn globals_to_input_values( &self, globals: &BTreeMap<String, AbstractValue>, ) -> Vec<AbstractValue>
pub fn call( &self, context: &IContext<'_>, input_values: Vec<AbstractValue>, ) -> (AbstractValue, AbstractValue)
pub fn forward_interpret( &self, context: &IContext<'_>, input_values: Vec<AbstractValue>, ) -> Interpretation<IVarId, AbstractValue>
pub fn forward_result( &self, abstr: &Interpretation<IVarId, AbstractValue>, ) -> (AbstractValue, AbstractValue)
pub fn backward_interpret( &self, context: &IContext<'_>, abstr: &Interpretation<IVarId, AbstractValue>, later_normal: RefinementValue, later_panic: RefinementValue, ) -> Interpretation<IVarId, RefinementValue>
pub fn backward_earlier( &self, abstr: &Interpretation<IVarId, AbstractValue>, refin: &Interpretation<IVarId, RefinementValue>, ) -> Vec<RefinementValue>
pub fn into_declaration(self) -> IFnDeclaration
Trait Implementations§
Source§impl<'de> Deserialize<'de> for IFn
impl<'de> Deserialize<'de> for IFn
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for IFn
impl StructuralPartialEq for IFn
Auto Trait Implementations§
impl Freeze for IFn
impl RefUnwindSafe for IFn
impl Send for IFn
impl Sync for IFn
impl Unpin for IFn
impl UnwindSafe for IFn
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.