CompileFunctionInContext is equivalent to using with (context_extension) { } around your function which is different from pretending it was inside some other function.
As for the odd line numbers, can you provide a complete repro case? On Sat, Sep 24, 2016 at 1:12 PM Zac Hansen <xax...@gmail.com> wrote: > I'm a bit confused. I put a proper TryCatch around the > CompileFunctionInContext and print the results there and I get a much > better error: > > 0 > myfile.js:74: SyntaxError: Unexpected identifier > do_stuff: function(stuff){ > ^^^^^^^^^^^^ > > because I'm missing a comma on the preceeding line. > > But what the heck was going on before? > > > On Saturday, September 24, 2016 at 2:41:29 AM UTC-7, Zac Hansen wrote: > > I'm trying to take some user-provided code and pretend it's inside of a > function, which is what I > think v8::ScriptCompiler::CompileFunctionInContext is for. > > However, I have a syntax error in my javascript code, but when I get an > error message: > > myfile.js:2079: Uncaught SyntaxError: Unexpected identifier > > there is no line 2079. that specific file only has 372 lines and the > actual failure is probably around line 85 or so. If I look at my > ScriptOrigin right before I start compiling, it all seems good with the > right filename, line, and column offsets (1, 0 respectively). > > printf("%s\n", *v8::String::Utf8Value(script_origin.ResourceName())); > printf("%d\n", script_origin.ResourceLineOffset()->Value()); > printf("%d\n", script_origin.ResourceColumnOffset()->Value()); > > > v8::ScriptCompiler::Source source(v8::String::NewFromUtf8(isolate, > module_source.c_str()), script_origin); > v8::Local<v8::String> parameter_names[] = { > v8::String::NewFromUtf8(isolate, "module"), > v8::String::NewFromUtf8(isolate, "exports") > }; > auto maybe_module_function = > v8::ScriptCompiler::CompileFunctionInContext(context, &source, 2, > ¶meter_names[0], 0, nullptr); > > > Any ideas? > > -- > -- > 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. > -- -- 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.