Top | ![]() |
![]() |
![]() |
![]() |
Seed relies on WebKit's JavaScriptCore interpreter to actually evaluate snippets of JavaScript; however, it provides a handful of useful wrapper functions to quickly create and evaluate scripts. seed_make_script()
and seed_evaluate()
are the workhorse functions; these allow you to control every detail of the created script and its evaluation environment (including customizing the "this" object during evaluation, and setting a starting line number and filename from which the script originates). seed_simple_evaluate()
provides an interface to execute a string of JavaScript without previously creating a SeedScript, and, while requiring less supporting code, is less flexible.
Example 7. Create and evaluate a string of JavaScript with seed_make_script()
1 2 3 4 5 6 7 8 9 10 11 12 |
SeedEngine * eng; ... SeedScript * script; /* Create a simple <a class="link" href="seed-Evaluation.html#SeedScript" title="SeedScript">SeedScript</a> */ script = seed_make_script(eng->context, "print('Hello, world!')", NULL, 0); /* Evaluate the <a class="link" href="seed-Evaluation.html#SeedScript" title="SeedScript">SeedScript</a> in the default context */ seed_evaluate(eng->context, script, 0); ... |
Example 8. Create and evaluate a string of JavaScript with seed_simple_evaluate()
1 2 3 4 5 6 7 8 |
SeedEngine * eng; ... /* Evaluate a simple JavaScript snippet in the default context */ seed_simple_evaluate(eng->context, "print('Hello, world!')", NULL); ... |
SeedScript * seed_make_script (SeedContext ctx
,const gchar *js
,const gchar *source_url
,gint line_number
);
Creates a new SeedScript instance with js
as the contents, then
checks for proper syntax.
Note: seed_make_script()
does not handle the shebang line, and will return a
parse error if one is included in js
.
ctx |
A SeedContext. |
|
js |
A string representing the contents of the script. |
|
source_url |
The filename of the script, for reference in errors, or |
|
line_number |
The line number of the beginning of the script, for reference
in error messages, or |
SeedValue seed_evaluate (SeedContext ctx
,SeedScript *s
,SeedObject this_object
);
Evaluates a SeedScript with this
as the global "this" object.
SeedValue seed_simple_evaluate (SeedContext ctx
,gchar *source
,SeedException *exception
);
Evaluates a string of JavaScript in ctx
; if an exception
is raised in the context of the script, it will be placed in exception
.
ctx |
A SeedContext. |
|
source |
A string representing the JavaScript to evaluate. |
|
exception |
A SeedException pointer to store an exception in. |
SeedScript * seed_script_new_from_file (SeedContext ctx
,gchar *file
);
Uses seed_make_script()
to create a SeedScript from the contents of file
.
SeedException
seed_script_exception (SeedScript *s
);
Retrieves the exception (if any) raised during the evaluation of s
.