summaryrefslogtreecommitdiff
path: root/core/lib.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2021-06-22 01:45:41 +0200
committerGitHub <noreply@github.com>2021-06-22 01:45:41 +0200
commit9105892ec8b454571c56883eace557eee25b3301 (patch)
tree965d90e3a885c2f870f58eef921d8811a9a491b9 /core/lib.rs
parenta5eb2dfc93afc2899ed6e1ad2b3e029157889f7c (diff)
refactor: unify JavaScript script execution method (#11043)
This commit renames "JsRuntime::execute" to "JsRuntime::execute_script". Additionally same renames were applied to methods on "deno_runtime::Worker" and "deno_runtime::WebWorker". A new macro was added to "deno_core" called "located_script_name" which returns the name of Rust file alongside line no and col no of that call site. This macro is useful in combination with "JsRuntime::execute_script" and allows to provide accurate place where "one-off" JavaScript scripts are executed for internal runtime functions. Co-authored-by: Nayeem Rahman <nayeemrmn99@gmail.com>
Diffstat (limited to 'core/lib.rs')
-rw-r--r--core/lib.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/core/lib.rs b/core/lib.rs
index 7d49c1420..9235d12e4 100644
--- a/core/lib.rs
+++ b/core/lib.rs
@@ -90,6 +90,22 @@ pub fn v8_version() -> &'static str {
v8::V8::get_version()
}
+/// A helper macro that will return a call site in Rust code. Should be
+/// used when executing internal one-line scripts for JsRuntime lifecycle.
+///
+/// Returns a string in form of: "[deno:<filename>:<line>:<column>]"
+#[macro_export]
+macro_rules! located_script_name {
+ () => {
+ format!(
+ "[deno:{}:{}:{}]",
+ std::file!(),
+ std::line!(),
+ std::column!()
+ );
+ };
+}
+
#[cfg(test)]
mod tests {
use super::*;