当前位置: 首页>>代码示例>>C++>>正文


C++ EXCEPTION_GATE_RETURN函数代码示例

本文整理汇总了C++中EXCEPTION_GATE_RETURN函数的典型用法代码示例。如果您正苦于以下问题:C++ EXCEPTION_GATE_RETURN函数的具体用法?C++ EXCEPTION_GATE_RETURN怎么用?C++ EXCEPTION_GATE_RETURN使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了EXCEPTION_GATE_RETURN函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: fg_stream_get_contents

TypedValue* fg_stream_get_contents(HPHP::VM::ActRec *ar) {
    EXCEPTION_GATE_ENTER();
    TypedValue rv;
    long long count = ar->numArgs();
    TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
    if (count >= 1LL && count <= 3LL) {
        if ((count <= 2 || (args-2)->m_type == KindOfInt64) && (count <= 1 || (args-1)->m_type == KindOfInt64) && (args-0)->m_type == KindOfObject) {
            fh_stream_get_contents((&(rv)), (Value*)(args-0), (count > 1) ? (int)(args[-1].m_data.num) : (int)(0), (count > 2) ? (int)(args[-2].m_data.num) : (int)(0));
            if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull;
            frame_free_locals_no_this_inl(ar, 3);
            memcpy(&ar->m_r, &rv, sizeof(TypedValue));
            return &ar->m_r;
        } else {
            fg1_stream_get_contents(&rv, ar, count);
            frame_free_locals_no_this_inl(ar, 3);
            memcpy(&ar->m_r, &rv, sizeof(TypedValue));
            return &ar->m_r;
        }
    } else {
        throw_wrong_arguments_nr("stream_get_contents", count, 1, 3, 1);
    }
    rv.m_data.num = 0LL;
    rv._count = 0;
    rv.m_type = KindOfNull;
    frame_free_locals_no_this_inl(ar, 3);
    memcpy(&ar->m_r, &rv, sizeof(TypedValue));
    return &ar->m_r;
    EXCEPTION_GATE_RETURN(&ar->m_r);
}
开发者ID:prototype,项目名称:hiphop-php,代码行数:29,代码来源:ext_stream.ext_hhvm.cpp

示例2: fg_user_error

TypedValue* fg_user_error(HPHP::VM::ActRec *ar) {
  EXCEPTION_GATE_ENTER();
    TypedValue rv;
    long long count = ar->numArgs();
    TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
    if (count >= 1LL && count <= 2LL) {
      if ((count <= 1 || (args-1)->m_type == KindOfInt64) && IS_STRING_TYPE((args-0)->m_type)) {
        rv._count = 0;
        rv.m_type = KindOfBoolean;
        rv.m_data.num = (fh_user_error((Value*)(args-0), (count > 1) ? (int)(args[-1].m_data.num) : (int)(k_E_USER_NOTICE))) ? 1LL : 0LL;
        frame_free_locals_no_this_inl(ar, 2);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      } else {
        fg1_user_error(&rv, ar, count);
        frame_free_locals_no_this_inl(ar, 2);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      }
    } else {
      throw_wrong_arguments_nr("user_error", count, 1, 2, 1);
    }
    rv.m_data.num = 0LL;
    rv._count = 0;
    rv.m_type = KindOfNull;
    frame_free_locals_no_this_inl(ar, 2);
    memcpy(&ar->m_r, &rv, sizeof(TypedValue));
    return &ar->m_r;
  EXCEPTION_GATE_RETURN(&ar->m_r);
}
开发者ID:KWMalik,项目名称:hiphop-php,代码行数:30,代码来源:ext_error.ext_hhvm.cpp

示例3: fg_posix_getgrgid

TypedValue* fg_posix_getgrgid(HPHP::VM::ActRec *ar) {
  EXCEPTION_GATE_ENTER();
    TypedValue rv;
    long long count = ar->numArgs();
    TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
    if (count == 1LL) {
      if ((args-0)->m_type == KindOfInt64) {
        fh_posix_getgrgid((&(rv)), (int)(args[-0].m_data.num));
        if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull;
        frame_free_locals_no_this_inl(ar, 1);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      } else {
        fg1_posix_getgrgid(&rv, ar, count);
        frame_free_locals_no_this_inl(ar, 1);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      }
    } else {
      throw_wrong_arguments_nr("posix_getgrgid", count, 1, 1, 1);
    }
    rv.m_data.num = 0LL;
    rv._count = 0;
    rv.m_type = KindOfNull;
    frame_free_locals_no_this_inl(ar, 1);
    memcpy(&ar->m_r, &rv, sizeof(TypedValue));
    return &ar->m_r;
  EXCEPTION_GATE_RETURN(&ar->m_r);
}
开发者ID:KWMalik,项目名称:hiphop-php,代码行数:29,代码来源:ext_posix.ext_hhvm.cpp

示例4: fg_proc_get_status

TypedValue* fg_proc_get_status(HPHP::VM::ActRec *ar) {
  EXCEPTION_GATE_ENTER();
    TypedValue rv;
    long long count = ar->numArgs();
    TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
    if (count == 1LL) {
      if ((args-0)->m_type == KindOfObject) {
        rv._count = 0;
        rv.m_type = KindOfArray;
        fh_proc_get_status((Value*)(&(rv)), (Value*)(args-0));
        if (rv.m_data.num == 0LL) rv.m_type = KindOfNull;
        frame_free_locals_no_this_inl(ar, 1);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      } else {
        fg1_proc_get_status(&rv, ar, count);
        frame_free_locals_no_this_inl(ar, 1);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      }
    } else {
      throw_wrong_arguments_nr("proc_get_status", count, 1, 1, 1);
    }
    rv.m_data.num = 0LL;
    rv._count = 0;
    rv.m_type = KindOfNull;
    frame_free_locals_no_this_inl(ar, 1);
    memcpy(&ar->m_r, &rv, sizeof(TypedValue));
    return &ar->m_r;
  EXCEPTION_GATE_RETURN(&ar->m_r);
}
开发者ID:DenisBazhan,项目名称:hiphop-php,代码行数:31,代码来源:ext_process.ext_hhvm.cpp

示例5: fg_set_error_handler

TypedValue* fg_set_error_handler(HPHP::VM::ActRec *ar) {
  EXCEPTION_GATE_ENTER();
    TypedValue rv;
    long long count = ar->numArgs();
    TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
    if (count >= 1LL && count <= 2LL) {
      if ((count <= 1 || (args-1)->m_type == KindOfInt64)) {
        fh_set_error_handler((&(rv)), (args-0), (count > 1) ? (int)(args[-1].m_data.num) : (int)(k_E_ALL));
        if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull;
        frame_free_locals_no_this_inl(ar, 2);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      } else {
        fg1_set_error_handler(&rv, ar, count);
        frame_free_locals_no_this_inl(ar, 2);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      }
    } else {
      throw_wrong_arguments_nr("set_error_handler", count, 1, 2, 1);
    }
    rv.m_data.num = 0LL;
    rv._count = 0;
    rv.m_type = KindOfNull;
    frame_free_locals_no_this_inl(ar, 2);
    memcpy(&ar->m_r, &rv, sizeof(TypedValue));
    return &ar->m_r;
  EXCEPTION_GATE_RETURN(&ar->m_r);
}
开发者ID:KWMalik,项目名称:hiphop-php,代码行数:29,代码来源:ext_error.ext_hhvm.cpp

示例6: fg_pcntl_waitpid

TypedValue* fg_pcntl_waitpid(HPHP::VM::ActRec *ar) {
  EXCEPTION_GATE_ENTER();
    TypedValue rv;
    long long count = ar->numArgs();
    TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
    if (count >= 2LL && count <= 3LL) {
      if ((count <= 2 || (args-2)->m_type == KindOfInt64) && (args-0)->m_type == KindOfInt64) {
        rv._count = 0;
        rv.m_type = KindOfInt64;
        rv.m_data.num = (long long)fh_pcntl_waitpid((int)(args[-0].m_data.num), (args-1), (count > 2) ? (int)(args[-2].m_data.num) : (int)(0));
        frame_free_locals_no_this_inl(ar, 3);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      } else {
        fg1_pcntl_waitpid(&rv, ar, count);
        frame_free_locals_no_this_inl(ar, 3);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      }
    } else {
      throw_wrong_arguments_nr("pcntl_waitpid", count, 2, 3, 1);
    }
    rv.m_data.num = 0LL;
    rv._count = 0;
    rv.m_type = KindOfNull;
    frame_free_locals_no_this_inl(ar, 3);
    memcpy(&ar->m_r, &rv, sizeof(TypedValue));
    return &ar->m_r;
  EXCEPTION_GATE_RETURN(&ar->m_r);
}
开发者ID:DenisBazhan,项目名称:hiphop-php,代码行数:30,代码来源:ext_process.ext_hhvm.cpp

示例7: fg_system

TypedValue* fg_system(HPHP::VM::ActRec *ar) {
  EXCEPTION_GATE_ENTER();
    TypedValue rv;
    long long count = ar->numArgs();
    TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
    if (count >= 1LL && count <= 2LL) {
      if (IS_STRING_TYPE((args-0)->m_type)) {
        rv._count = 0;
        rv.m_type = KindOfString;
        VRefParamValue defVal1 = null;
        fh_system((Value*)(&(rv)), (Value*)(args-0), (count > 1) ? (args-1) : (TypedValue*)(&defVal1));
        if (rv.m_data.num == 0LL) rv.m_type = KindOfNull;
        frame_free_locals_no_this_inl(ar, 2);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      } else {
        fg1_system(&rv, ar, count);
        frame_free_locals_no_this_inl(ar, 2);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      }
    } else {
      throw_wrong_arguments_nr("system", count, 1, 2, 1);
    }
    rv.m_data.num = 0LL;
    rv._count = 0;
    rv.m_type = KindOfNull;
    frame_free_locals_no_this_inl(ar, 2);
    memcpy(&ar->m_r, &rv, sizeof(TypedValue));
    return &ar->m_r;
  EXCEPTION_GATE_RETURN(&ar->m_r);
}
开发者ID:DenisBazhan,项目名称:hiphop-php,代码行数:32,代码来源:ext_process.ext_hhvm.cpp

示例8: fg_stream_socket_shutdown

TypedValue* fg_stream_socket_shutdown(HPHP::VM::ActRec *ar) {
    EXCEPTION_GATE_ENTER();
    TypedValue rv;
    long long count = ar->numArgs();
    TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
    if (count == 2LL) {
        if ((args-1)->m_type == KindOfInt64 && (args-0)->m_type == KindOfObject) {
            rv._count = 0;
            rv.m_type = KindOfBoolean;
            rv.m_data.num = (fh_stream_socket_shutdown((Value*)(args-0), (int)(args[-1].m_data.num))) ? 1LL : 0LL;
            frame_free_locals_no_this_inl(ar, 2);
            memcpy(&ar->m_r, &rv, sizeof(TypedValue));
            return &ar->m_r;
        } else {
            fg1_stream_socket_shutdown(&rv, ar, count);
            frame_free_locals_no_this_inl(ar, 2);
            memcpy(&ar->m_r, &rv, sizeof(TypedValue));
            return &ar->m_r;
        }
    } else {
        throw_wrong_arguments_nr("stream_socket_shutdown", count, 2, 2, 1);
    }
    rv.m_data.num = 0LL;
    rv._count = 0;
    rv.m_type = KindOfNull;
    frame_free_locals_no_this_inl(ar, 2);
    memcpy(&ar->m_r, &rv, sizeof(TypedValue));
    return &ar->m_r;
    EXCEPTION_GATE_RETURN(&ar->m_r);
}
开发者ID:prototype,项目名称:hiphop-php,代码行数:30,代码来源:ext_stream.ext_hhvm.cpp

示例9: fg_http_build_query

TypedValue* fg_http_build_query(HPHP::VM::ActRec *ar) {
  EXCEPTION_GATE_ENTER();
    TypedValue rv;
    long long count = ar->numArgs();
    TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
    if (count >= 1LL && count <= 3LL) {
      if ((count <= 2 || IS_STRING_TYPE((args-2)->m_type)) && (count <= 1 || IS_STRING_TYPE((args-1)->m_type))) {
        fh_http_build_query((&(rv)), (args-0), (count > 1) ? (Value*)(args-1) : (Value*)(&null_string), (count > 2) ? (Value*)(args-2) : (Value*)(&null_string));
        if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull;
        frame_free_locals_no_this_inl(ar, 3);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      } else {
        fg1_http_build_query(&rv, ar, count);
        frame_free_locals_no_this_inl(ar, 3);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      }
    } else {
      throw_wrong_arguments_nr("http_build_query", count, 1, 3, 1);
    }
    rv.m_data.num = 0LL;
    rv._count = 0;
    rv.m_type = KindOfNull;
    frame_free_locals_no_this_inl(ar, 3);
    memcpy(&ar->m_r, &rv, sizeof(TypedValue));
    return &ar->m_r;
  EXCEPTION_GATE_RETURN(&ar->m_r);
}
开发者ID:ameyapg,项目名称:hiphop-php,代码行数:29,代码来源:ext_url.ext_hhvm.cpp

示例10: fg_stream_socket_pair

TypedValue* fg_stream_socket_pair(HPHP::VM::ActRec *ar) {
    EXCEPTION_GATE_ENTER();
    TypedValue rv;
    long long count = ar->numArgs();
    TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
    if (count == 3LL) {
        if ((args-2)->m_type == KindOfInt64 && (args-1)->m_type == KindOfInt64 && (args-0)->m_type == KindOfInt64) {
            fh_stream_socket_pair((&(rv)), (int)(args[-0].m_data.num), (int)(args[-1].m_data.num), (int)(args[-2].m_data.num));
            if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull;
            frame_free_locals_no_this_inl(ar, 3);
            memcpy(&ar->m_r, &rv, sizeof(TypedValue));
            return &ar->m_r;
        } else {
            fg1_stream_socket_pair(&rv, ar, count);
            frame_free_locals_no_this_inl(ar, 3);
            memcpy(&ar->m_r, &rv, sizeof(TypedValue));
            return &ar->m_r;
        }
    } else {
        throw_wrong_arguments_nr("stream_socket_pair", count, 3, 3, 1);
    }
    rv.m_data.num = 0LL;
    rv._count = 0;
    rv.m_type = KindOfNull;
    frame_free_locals_no_this_inl(ar, 3);
    memcpy(&ar->m_r, &rv, sizeof(TypedValue));
    return &ar->m_r;
    EXCEPTION_GATE_RETURN(&ar->m_r);
}
开发者ID:prototype,项目名称:hiphop-php,代码行数:29,代码来源:ext_stream.ext_hhvm.cpp

示例11: fg_stream_socket_sendto

TypedValue* fg_stream_socket_sendto(HPHP::VM::ActRec *ar) {
    EXCEPTION_GATE_ENTER();
    TypedValue rv;
    long long count = ar->numArgs();
    TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
    if (count >= 2LL && count <= 4LL) {
        if ((count <= 3 || IS_STRING_TYPE((args-3)->m_type)) && (count <= 2 || (args-2)->m_type == KindOfInt64) && IS_STRING_TYPE((args-1)->m_type) && (args-0)->m_type == KindOfObject) {
            fh_stream_socket_sendto((&(rv)), (Value*)(args-0), (Value*)(args-1), (count > 2) ? (int)(args[-2].m_data.num) : (int)(0), (count > 3) ? (Value*)(args-3) : (Value*)(&null_string));
            if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull;
            frame_free_locals_no_this_inl(ar, 4);
            memcpy(&ar->m_r, &rv, sizeof(TypedValue));
            return &ar->m_r;
        } else {
            fg1_stream_socket_sendto(&rv, ar, count);
            frame_free_locals_no_this_inl(ar, 4);
            memcpy(&ar->m_r, &rv, sizeof(TypedValue));
            return &ar->m_r;
        }
    } else {
        throw_wrong_arguments_nr("stream_socket_sendto", count, 2, 4, 1);
    }
    rv.m_data.num = 0LL;
    rv._count = 0;
    rv.m_type = KindOfNull;
    frame_free_locals_no_this_inl(ar, 4);
    memcpy(&ar->m_r, &rv, sizeof(TypedValue));
    return &ar->m_r;
    EXCEPTION_GATE_RETURN(&ar->m_r);
}
开发者ID:prototype,项目名称:hiphop-php,代码行数:29,代码来源:ext_stream.ext_hhvm.cpp

示例12: fg_stream_socket_client

TypedValue* fg_stream_socket_client(HPHP::VM::ActRec *ar) {
    EXCEPTION_GATE_ENTER();
    TypedValue rv;
    long long count = ar->numArgs();
    TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
    if (count >= 1LL && count <= 6LL) {
        if ((count <= 5 || (args-5)->m_type == KindOfObject) && (count <= 4 || (args-4)->m_type == KindOfInt64) && (count <= 3 || (args-3)->m_type == KindOfDouble) && IS_STRING_TYPE((args-0)->m_type)) {
            VRefParamValue defVal1 = null;
            VRefParamValue defVal2 = null;
            fh_stream_socket_client((&(rv)), (Value*)(args-0), (count > 1) ? (args-1) : (TypedValue*)(&defVal1), (count > 2) ? (args-2) : (TypedValue*)(&defVal2), (count > 3) ? (args[-3].m_data.dbl) : (double)(0.0), (count > 4) ? (int)(args[-4].m_data.num) : (int)(0), (count > 5) ? (Value*)(args-5) : (Value*)(&null_object));
            if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull;
            frame_free_locals_no_this_inl(ar, 6);
            memcpy(&ar->m_r, &rv, sizeof(TypedValue));
            return &ar->m_r;
        } else {
            fg1_stream_socket_client(&rv, ar, count);
            frame_free_locals_no_this_inl(ar, 6);
            memcpy(&ar->m_r, &rv, sizeof(TypedValue));
            return &ar->m_r;
        }
    } else {
        throw_wrong_arguments_nr("stream_socket_client", count, 1, 6, 1);
    }
    rv.m_data.num = 0LL;
    rv._count = 0;
    rv.m_type = KindOfNull;
    frame_free_locals_no_this_inl(ar, 6);
    memcpy(&ar->m_r, &rv, sizeof(TypedValue));
    return &ar->m_r;
    EXCEPTION_GATE_RETURN(&ar->m_r);
}
开发者ID:prototype,项目名称:hiphop-php,代码行数:31,代码来源:ext_stream.ext_hhvm.cpp

示例13: fg_stream_socket_accept

TypedValue* fg_stream_socket_accept(HPHP::VM::ActRec *ar) {
    EXCEPTION_GATE_ENTER();
    TypedValue rv;
    long long count = ar->numArgs();
    TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
    if (count >= 1LL && count <= 3LL) {
        if ((count <= 1 || (args-1)->m_type == KindOfDouble) && (args-0)->m_type == KindOfObject) {
            VRefParamValue defVal2 = null;
            fh_stream_socket_accept((&(rv)), (Value*)(args-0), (count > 1) ? (args[-1].m_data.dbl) : (double)(0.0), (count > 2) ? (args-2) : (TypedValue*)(&defVal2));
            if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull;
            frame_free_locals_no_this_inl(ar, 3);
            memcpy(&ar->m_r, &rv, sizeof(TypedValue));
            return &ar->m_r;
        } else {
            fg1_stream_socket_accept(&rv, ar, count);
            frame_free_locals_no_this_inl(ar, 3);
            memcpy(&ar->m_r, &rv, sizeof(TypedValue));
            return &ar->m_r;
        }
    } else {
        throw_wrong_arguments_nr("stream_socket_accept", count, 1, 3, 1);
    }
    rv.m_data.num = 0LL;
    rv._count = 0;
    rv.m_type = KindOfNull;
    frame_free_locals_no_this_inl(ar, 3);
    memcpy(&ar->m_r, &rv, sizeof(TypedValue));
    return &ar->m_r;
    EXCEPTION_GATE_RETURN(&ar->m_r);
}
开发者ID:prototype,项目名称:hiphop-php,代码行数:30,代码来源:ext_stream.ext_hhvm.cpp

示例14: fg_stream_select

TypedValue* fg_stream_select(HPHP::VM::ActRec *ar) {
    EXCEPTION_GATE_ENTER();
    TypedValue rv;
    long long count = ar->numArgs();
    TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
    if (count >= 4LL && count <= 5LL) {
        if ((count <= 4 || (args-4)->m_type == KindOfInt64)) {
            fh_stream_select((&(rv)), (args-0), (args-1), (args-2), (args-3), (count > 4) ? (int)(args[-4].m_data.num) : (int)(0));
            if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull;
            frame_free_locals_no_this_inl(ar, 5);
            memcpy(&ar->m_r, &rv, sizeof(TypedValue));
            return &ar->m_r;
        } else {
            fg1_stream_select(&rv, ar, count);
            frame_free_locals_no_this_inl(ar, 5);
            memcpy(&ar->m_r, &rv, sizeof(TypedValue));
            return &ar->m_r;
        }
    } else {
        throw_wrong_arguments_nr("stream_select", count, 4, 5, 1);
    }
    rv.m_data.num = 0LL;
    rv._count = 0;
    rv.m_type = KindOfNull;
    frame_free_locals_no_this_inl(ar, 5);
    memcpy(&ar->m_r, &rv, sizeof(TypedValue));
    return &ar->m_r;
    EXCEPTION_GATE_RETURN(&ar->m_r);
}
开发者ID:prototype,项目名称:hiphop-php,代码行数:29,代码来源:ext_stream.ext_hhvm.cpp

示例15: fg_hphp_get_static_property

TypedValue* fg_hphp_get_static_property(HPHP::VM::ActRec *ar) {
  EXCEPTION_GATE_ENTER();
    TypedValue rv;
    long long count = ar->numArgs();
    TypedValue* args UNUSED = ((TypedValue*)ar) - 1;
    if (count == 2LL) {
      if (IS_STRING_TYPE((args-1)->m_type) && IS_STRING_TYPE((args-0)->m_type)) {
        fh_hphp_get_static_property((&(rv)), (Value*)(args-0), (Value*)(args-1));
        if (rv.m_type == KindOfUninit) rv.m_type = KindOfNull;
        frame_free_locals_no_this_inl(ar, 2);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      } else {
        fg1_hphp_get_static_property(&rv, ar, count);
        frame_free_locals_no_this_inl(ar, 2);
        memcpy(&ar->m_r, &rv, sizeof(TypedValue));
        return &ar->m_r;
      }
    } else {
      throw_wrong_arguments_nr("hphp_get_static_property", count, 2, 2, 1);
    }
    rv.m_data.num = 0LL;
    rv._count = 0;
    rv.m_type = KindOfNull;
    frame_free_locals_no_this_inl(ar, 2);
    memcpy(&ar->m_r, &rv, sizeof(TypedValue));
    return &ar->m_r;
  EXCEPTION_GATE_RETURN(&ar->m_r);
}
开发者ID:DenisBazhan,项目名称:hiphop-php,代码行数:29,代码来源:ext_reflection.ext_hhvm.cpp


注:本文中的EXCEPTION_GATE_RETURN函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。