Exemplo n.º 1
0
tu_string as_3_function::get_multiname ( int index, vm_stack &stack ) const
{
    multiname::kind kind = ( multiname::kind ) m_abc->get_multiname_type ( index );

    switch ( kind )
    {
    case multiname::CONSTANT_MultinameL :
        assert ( stack.top ( 0 ).is_string() || stack.top ( 0 ).is_number() );
        return stack.pop().to_string();
        break;

    case multiname::CONSTANT_Multiname:
    case multiname::CONSTANT_QName:
        return m_abc->get_multiname ( index );

    default:
        assert ( !"todo" );
        return "";
    }
}
Exemplo n.º 2
0
 inline static size_t call(vm_stack &stk, size_t else_offset) {
   dt::boolean cond; stk.pop(cond); return cond ? 1 : else_offset;
 }