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


C++ Arguments::Callee方法代码示例

本文整理汇总了C++中v8::Arguments::Callee方法的典型用法代码示例。如果您正苦于以下问题:C++ Arguments::Callee方法的具体用法?C++ Arguments::Callee怎么用?C++ Arguments::Callee使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在v8::Arguments的用法示例。


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

示例1: clrFuncProxy

Handle<v8::Value> clrFuncProxy(const v8::Arguments& args)
{
    DBG("clrFuncProxy");
    HandleScope scope;
    Handle<v8::External> correlator = Handle<v8::External>::Cast(args.Callee()->Get(v8::String::NewSymbol("_edgeContext")));
    ClrFuncWrap* wrap = (ClrFuncWrap*)(correlator->Value());
    ClrFunc^ clrFunc = wrap->clrFunc;
    return scope.Close(clrFunc->Call(args[0], args[1]));
}
开发者ID:shinetechchina-tj,项目名称:tfs-si-gen,代码行数:9,代码来源:clrfunc.cpp

示例2:

v8::Handle<v8::Value> V8PerIsolateData::constructorOfToString(const v8::Arguments& args)
{
    // The DOM constructors' toString functions grab the current toString
    // for Functions by taking the toString function of itself and then
    // calling it with the constructor as its receiver. This means that
    // changes to the Function prototype chain or toString function are
    // reflected when printing DOM constructors. The only wart is that
    // changes to a DOM constructor's toString's toString will cause the
    // toString of the DOM constructor itself to change. This is extremely
    // obscure and unlikely to be a problem.
    v8::Handle<v8::Value> value = args.Callee()->Get(v8::String::NewSymbol("toString"));
    if (!value->IsFunction()) 
        return v8::String::New("");
    return v8::Handle<v8::Function>::Cast(value)->Call(args.This(), 0, 0);
}
开发者ID:dog-god,项目名称:iptv,代码行数:15,代码来源:V8PerIsolateData.cpp

示例3: DBG

Handle<Value> v8FuncCallback(const v8::Arguments& args)
{
    DBG("v8FuncCallback");
    HandleScope scope;
    Handle<v8::External> correlator = Handle<v8::External>::Cast(args.Callee()->Get(v8::String::NewSymbol("_edgeContext")));
    NodejsFuncInvokeContextWrap* wrap = (NodejsFuncInvokeContextWrap*)(correlator->Value());
    NodejsFuncInvokeContext^ context = wrap->context;
    if (!args[0]->IsUndefined() && !args[0]->IsNull())
    {
        context->CompleteWithError(gcnew System::Exception(exceptionV82stringCLR(args[0])));
    }
    else 
    {
        context->CompleteWithResult(args[1]);
    }
    return scope.Close(Undefined());
}
开发者ID:alexbeletsky,项目名称:edge,代码行数:17,代码来源:nodejsfuncinvokecontext.cpp

示例4: obj

	static v8::Handle<v8::Value> FunctionCallbackImpl(const v8::Arguments& args)
	{
		v8::HandleScope handle_scope;
		JSExtension* handler = static_cast<JSExtension*>(v8::External::Cast(*(args.Data()))->Value());

		ChromiumDLL::JSObjHandle* argv = new ChromiumDLL::JSObjHandle[args.Length()];

		for(int i = 0; i < args.Length(); i++)
			argv[i] = new JSObject(args[i]);

		ChromiumDLL::JSObjHandle  obj(new JSObject(args.This()));
		v8::Handle<v8::Value> value = v8::Null();

		v8::Local<v8::Function> funct = args.Callee();
		v8::Handle<v8::Value> name = funct->GetName();
		v8::String::AsciiValue str(name);

		try
		{
			ChromiumDLL::JavaScriptFunctionArgs jsargs;
			jsargs.function = *str;
			jsargs.factory = &g_Factory;
			jsargs.argc = args.Length();
			jsargs.object = obj;
			jsargs.argv = argv;
			jsargs.context = nullptr;

			ChromiumDLL::JSObjHandle ret = handler->m_pExtender->execute(&jsargs);
			delete [] argv;

			JSObject *native = dynamic_cast<JSObject*>(ret.get());

			if (native)
				value = native->getNative();

			ret->delRef();
		}
		catch (std::exception& e)
		{
			delete [] argv;
			value = v8::ThrowException(v8::String::New(e.what()));
		}

		return value;
	}
开发者ID:CSRedRat,项目名称:desura-app,代码行数:45,代码来源:jsExtensions.cpp


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