Thank you for your reply, ibon. I am using *FunctionTemplate *to expose the keyword '*Point*'. So, it will call the function registered with the *FunctionTemplate*. In that function, I am using *ObjectTemplate* to wrap the C++ object and return. For the *ObjectTemplate*, I am setting the handlers. ( *v8::NamedPropertyHandlerConfiguration* and *v8::IndexedPropertyHandlerConfiguration*) I tried using *SetClassName()* on the *FunctionTemplate*. That worked in a different way. Now, when I do mouse over on '*Point*', it is displaying the string I am populating.
<https://lh3.googleusercontent.com/-PSLiQPCRb1I/WwOX4xdV49I/AAAAAAAAFsE/G3j_Hd1AhdQ6RlW0L0urVEDFpMW4L_MzQCLcBGAs/s1600/Capture.PNG> Where as, if *SetClassName()* is not called, it is displayed as anonymous. <https://lh3.googleusercontent.com/-R8rnC7ug-a0/WwOX-DvaSKI/AAAAAAAAFsI/Y8eMsL2C5_IYW7RKOStkOUMnThbqdf6PgCLcBGAs/s1600/Capture2.PNG> My aim is to change the value being displayed for the variable p, to which I am returning an *ObjectTemplate*. Or, is it that I can use a *FunctionTemplate* to return? In that case, how can I set the handlers? I used the source *https://github.com/v8/v8/blob/master/samples/process.cc* <https://github.com/v8/v8/blob/master/samples/process.cc> as a guide. Maybe I am not doing it properly here. The Embedder's guide says: > Each function template has an associated object template. This is used to > configure objects created with this function as their constructor. But it seems I am using an unrelated *ObjectTemplate* to wrap C++ object. Please correct me if I am wrong. I am inferring that you are using the associated *ObjectTemplate *of the of the *FunctionTemplate *to wrap the C++ object. Also, from *v8.h:* /** * Set the class name of the FunctionTemplate. This is used for * printing objects created with the function created from the * FunctionTemplate as its constructor. */ void SetClassName(Local<String> name); This also leads me to believe that I am not using the *ObjectTemplate *as intended. regards, Anoop R. S. On Monday, 21 May 2018 14:03:25 UTC+5:30, ibon wrote: > > Have you tried setting the class name in the FunctionTemplate ? > > interface_template->SetClassName( v8::String ) > > This names my objects as expected. I also get [object MyObject] instead of > [object Object] when calling Object's prototype toString. > You also might want to name the prototype by setting the GetToStringTag > symbol in the prototype object template. > > > El lunes, 21 de mayo de 2018, 6:40:45 (UTC+2), Anoop R. S. escribió: >> >> Hi All, >> I noticed another behaviour. If the callback *SetCallAsFunctionHandler() >> *is implemented for the ObjectTemplate, the value of the object is >> displayed as *f anonymous() *as shown below. >> >> >> <https://lh3.googleusercontent.com/-CS_h9_oMPmM/WwJMTnHwc-I/AAAAAAAAFrg/aDVzcqVeqmEsmdi53rFQ1b0YV23r1ainQCLcBGAs/s1600/Capture.PNG> >> >> it seems to be overriding the callbacks >> *NamedPropertyHandlerConfiguration* and *IndexedPropertyHandlerConfiguration >> *(with respect to how it is displayed only). >> >> Is there any way to override this behaviour? >> >> I tried tracking where it is getting populated as *function, *but ended >> up in *CALL_GENERATED_CODE* called in *Invoke()* in *execution.cc* >> >> >> regards, >> Anoop R. S. >> >> On Tuesday, 8 May 2018 10:05:12 UTC+5:30, Anoop R. S. wrote: >>> >>> Hi All, >>> I am trying out a debugger prototype using the remote debugger protocol. >>> Going by the standard example in Embedder's Guide: >>> C++ class: >>> ------------- >>> class Point { >>> public: >>> Point(int x, int y) : x_(x), y_(y) { } >>> int x_, y_; >>> } >>> >>> Usage in JavaScript: >>> --------------------------- >>> var p = Point(1,2); >>> >>> Has anyone tried debugging a wrapped C++ object that is being returned >>> to Javascript? Is it possible? >>> >>> regards, >>> Anoop R. S. >>> >> -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.