pub fn stack_ref_polymorphic_eq(state: &AbstractState, index1: usize, index2: usize) -> bool {
    if stack_has(state, index2, None) {
        if let Some(abstract_value) = state.stack_peek(index1) {
            match abstract_value.token {
                SignatureToken::MutableReference(token) | SignatureToken::Reference(token) => {
                    let abstract_value_inner = AbstractValue {
                        token: (*token).clone(),
                        kind: SignatureTokenView::new(&state.module, &*token).kind(&[]),
                    };
                    return Some(abstract_value_inner) == state.stack_peek(index2);
                }
                _ => return false,
            }
        }
    }
    false
}
/// Determine whether an abstract value on the stack that is a reference points to something of the
/// same type as another abstract value on the stack
Determine whether an abstract value on the stack that is a reference points to something of the
same type as another abstract value on the stack
Determine whether an abstract value on the stack that is a reference points to something of the same type as another abstract value on the stack
pub fn stack_ref_polymorphic_eq(state: &AbstractState, index1: usize, index2: usize) -> bool {
    if stack_has(state, index2, None) {
        if let Some(abstract_value) = state.stack_peek(index1) {
            match abstract_value.token {
                SignatureToken::MutableReference(token) | SignatureToken::Reference(token) => {
                    let abstract_value_inner = AbstractValue {
                        token: (*token).clone(),
                        kind: SignatureTokenView::new(&state.module, &*token).kind(&[]),
                    };
                    return Some(abstract_value_inner) == state.stack_peek(index2);
                }
                _ => return false,
            }
        }
    }
    false
}
pub fn stack_ref_polymorphic_eq ( state : & AbstractState , index1 : usize , index2 : usize ) -> bool { if stack_has ( state , index2 , None ) { if let Some ( abstract_value ) = state . stack_peek ( index1 ) { match abstract_value . token { SignatureToken :: MutableReference ( token ) | SignatureToken :: Reference ( token ) => { let abstract_value_inner = AbstractValue { token : ( * token ) . clone ( ) , kind : SignatureTokenView :: new ( & state . module , & * token ) . kind ( & [ ] ) , } ; return Some ( abstract_value_inner ) == state . stack_peek ( index2 ) ; } _ => return false , } } } false }
Determine whether an abstract value on the stack that is a reference points to something of the
same type as another abstract value on the stack
Determine whether an abstract value on the stack that is a reference points to something of the same type as another abstract value on the stack
state
&AbstractState
index1
usize
index2
usize