0
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2025-02-01 20:25:12 -05:00

refactor: Remove op_state parameter (#12202)

This commit is contained in:
Ryan Dahl 2021-09-24 11:11:16 -04:00 committed by GitHub
parent 01da1d0adc
commit 9705efd419
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 19 additions and 67 deletions

View file

@ -65,7 +65,6 @@ impl CliModuleLoader {
impl ModuleLoader for CliModuleLoader { impl ModuleLoader for CliModuleLoader {
fn resolve( fn resolve(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
specifier: &str, specifier: &str,
referrer: &str, referrer: &str,
is_main: bool, is_main: bool,
@ -77,6 +76,9 @@ impl ModuleLoader for CliModuleLoader {
referrer referrer
}; };
// TODO(ry) I think we can remove this conditional. At the time of writing
// we don't have any tests that fail if it was removed.
// https://github.com/WICG/import-maps/issues/157
if !is_main { if !is_main {
if let Some(import_map) = &self.import_map { if let Some(import_map) = &self.import_map {
return import_map return import_map
@ -92,7 +94,6 @@ impl ModuleLoader for CliModuleLoader {
fn load( fn load(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
module_specifier: &ModuleSpecifier, module_specifier: &ModuleSpecifier,
maybe_referrer: Option<ModuleSpecifier>, maybe_referrer: Option<ModuleSpecifier>,
_is_dynamic: bool, _is_dynamic: bool,

View file

@ -20,7 +20,6 @@ use deno_core::url::Url;
use deno_core::v8_set_flags; use deno_core::v8_set_flags;
use deno_core::ModuleLoader; use deno_core::ModuleLoader;
use deno_core::ModuleSpecifier; use deno_core::ModuleSpecifier;
use deno_core::OpState;
use deno_runtime::deno_broadcast_channel::InMemoryBroadcastChannel; use deno_runtime::deno_broadcast_channel::InMemoryBroadcastChannel;
use deno_runtime::deno_web::BlobStore; use deno_runtime::deno_web::BlobStore;
use deno_runtime::permissions::Permissions; use deno_runtime::permissions::Permissions;
@ -29,7 +28,6 @@ use deno_runtime::worker::MainWorker;
use deno_runtime::worker::WorkerOptions; use deno_runtime::worker::WorkerOptions;
use deno_tls::create_default_root_cert_store; use deno_tls::create_default_root_cert_store;
use log::Level; use log::Level;
use std::cell::RefCell;
use std::convert::TryInto; use std::convert::TryInto;
use std::env::current_exe; use std::env::current_exe;
use std::fs::File; use std::fs::File;
@ -127,7 +125,6 @@ struct EmbeddedModuleLoader(String);
impl ModuleLoader for EmbeddedModuleLoader { impl ModuleLoader for EmbeddedModuleLoader {
fn resolve( fn resolve(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
specifier: &str, specifier: &str,
_referrer: &str, _referrer: &str,
_is_main: bool, _is_main: bool,
@ -146,7 +143,6 @@ impl ModuleLoader for EmbeddedModuleLoader {
fn load( fn load(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
module_specifier: &ModuleSpecifier, module_specifier: &ModuleSpecifier,
_maybe_referrer: Option<ModuleSpecifier>, _maybe_referrer: Option<ModuleSpecifier>,
_is_dynamic: bool, _is_dynamic: bool,

View file

@ -71,7 +71,6 @@ pub trait ModuleLoader {
/// apply import map for child imports. /// apply import map for child imports.
fn resolve( fn resolve(
&self, &self,
op_state: Rc<RefCell<OpState>>,
specifier: &str, specifier: &str,
referrer: &str, referrer: &str,
_is_main: bool, _is_main: bool,
@ -83,7 +82,6 @@ pub trait ModuleLoader {
/// dynamic imports altogether. /// dynamic imports altogether.
fn load( fn load(
&self, &self,
op_state: Rc<RefCell<OpState>>,
module_specifier: &ModuleSpecifier, module_specifier: &ModuleSpecifier,
maybe_referrer: Option<ModuleSpecifier>, maybe_referrer: Option<ModuleSpecifier>,
is_dyn_import: bool, is_dyn_import: bool,
@ -116,7 +114,6 @@ pub struct NoopModuleLoader;
impl ModuleLoader for NoopModuleLoader { impl ModuleLoader for NoopModuleLoader {
fn resolve( fn resolve(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
_specifier: &str, _specifier: &str,
_referrer: &str, _referrer: &str,
_is_main: bool, _is_main: bool,
@ -126,7 +123,6 @@ impl ModuleLoader for NoopModuleLoader {
fn load( fn load(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
_module_specifier: &ModuleSpecifier, _module_specifier: &ModuleSpecifier,
_maybe_referrer: Option<ModuleSpecifier>, _maybe_referrer: Option<ModuleSpecifier>,
_is_dyn_import: bool, _is_dyn_import: bool,
@ -146,7 +142,6 @@ pub struct FsModuleLoader;
impl ModuleLoader for FsModuleLoader { impl ModuleLoader for FsModuleLoader {
fn resolve( fn resolve(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
specifier: &str, specifier: &str,
referrer: &str, referrer: &str,
_is_main: bool, _is_main: bool,
@ -156,7 +151,6 @@ impl ModuleLoader for FsModuleLoader {
fn load( fn load(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
module_specifier: &ModuleSpecifier, module_specifier: &ModuleSpecifier,
_maybe_referrer: Option<ModuleSpecifier>, _maybe_referrer: Option<ModuleSpecifier>,
_is_dynamic: bool, _is_dynamic: bool,
@ -269,18 +263,14 @@ impl RecursiveModuleLoad {
pub fn resolve_root(&self) -> Result<ModuleSpecifier, AnyError> { pub fn resolve_root(&self) -> Result<ModuleSpecifier, AnyError> {
match self.init { match self.init {
LoadInit::Main(ref specifier) => { LoadInit::Main(ref specifier) => {
self self.loader.resolve(specifier, ".", true)
.loader
.resolve(self.op_state.clone(), specifier, ".", true)
} }
LoadInit::Side(ref specifier) => { LoadInit::Side(ref specifier) => {
self self.loader.resolve(specifier, ".", false)
.loader }
.resolve(self.op_state.clone(), specifier, ".", false) LoadInit::DynamicImport(ref specifier, ref referrer) => {
self.loader.resolve(specifier, referrer, false)
} }
LoadInit::DynamicImport(ref specifier, ref referrer) => self
.loader
.resolve(self.op_state.clone(), specifier, referrer, false),
} }
} }
@ -288,24 +278,15 @@ impl RecursiveModuleLoad {
let op_state = self.op_state.clone(); let op_state = self.op_state.clone();
let (module_specifier, maybe_referrer) = match self.init { let (module_specifier, maybe_referrer) = match self.init {
LoadInit::Main(ref specifier) => { LoadInit::Main(ref specifier) => {
let spec = let spec = self.loader.resolve(specifier, ".", true)?;
self
.loader
.resolve(op_state.clone(), specifier, ".", true)?;
(spec, None) (spec, None)
} }
LoadInit::Side(ref specifier) => { LoadInit::Side(ref specifier) => {
let spec = let spec = self.loader.resolve(specifier, ".", false)?;
self
.loader
.resolve(op_state.clone(), specifier, ".", false)?;
(spec, None) (spec, None)
} }
LoadInit::DynamicImport(ref specifier, ref referrer) => { LoadInit::DynamicImport(ref specifier, ref referrer) => {
let spec = let spec = self.loader.resolve(specifier, referrer, false)?;
self
.loader
.resolve(op_state.clone(), specifier, referrer, false)?;
(spec, Some(referrer.to_string())) (spec, Some(referrer.to_string()))
} }
}; };
@ -389,7 +370,6 @@ impl RecursiveModuleLoad {
already_registered.push_back((module_id, specifier.clone())); already_registered.push_back((module_id, specifier.clone()));
} else { } else {
let fut = self.loader.load( let fut = self.loader.load(
self.op_state.clone(),
&specifier, &specifier,
Some(referrer.clone()), Some(referrer.clone()),
self.is_dynamic_import(), self.is_dynamic_import(),
@ -454,12 +434,7 @@ impl Stream for RecursiveModuleLoad {
}; };
inner inner
.loader .loader
.load( .load(&module_specifier, maybe_referrer, inner.is_dynamic_import())
inner.op_state.clone(),
&module_specifier,
maybe_referrer,
inner.is_dynamic_import(),
)
.boxed_local() .boxed_local()
}; };
inner.pending.push(load_fut); inner.pending.push(load_fut);
@ -586,12 +561,8 @@ impl ModuleMap {
let import_specifier = module_request let import_specifier = module_request
.get_specifier() .get_specifier()
.to_rust_string_lossy(tc_scope); .to_rust_string_lossy(tc_scope);
let module_specifier = self.loader.resolve( let module_specifier =
self.op_state.clone(), self.loader.resolve(&import_specifier, name, false)?;
&import_specifier,
name,
false,
)?;
import_specifiers.push(module_specifier); import_specifiers.push(module_specifier);
} }
@ -700,12 +671,10 @@ impl ModuleMap {
.borrow_mut() .borrow_mut()
.dynamic_import_map .dynamic_import_map
.insert(load.id, resolver_handle); .insert(load.id, resolver_handle);
let resolve_result = module_map_rc.borrow().loader.resolve( let resolve_result = module_map_rc
module_map_rc.borrow().op_state.clone(), .borrow()
specifier, .loader
referrer, .resolve(specifier, referrer, false);
false,
);
let fut = match resolve_result { let fut = match resolve_result {
Ok(module_specifier) => { Ok(module_specifier) => {
if module_map_rc.borrow().is_registered(&module_specifier) { if module_map_rc.borrow().is_registered(&module_specifier) {
@ -737,7 +706,7 @@ impl ModuleMap {
) -> Option<v8::Local<'s, v8::Module>> { ) -> Option<v8::Local<'s, v8::Module>> {
let resolved_specifier = self let resolved_specifier = self
.loader .loader
.resolve(self.op_state.clone(), specifier, referrer, false) .resolve(specifier, referrer, false)
.expect("Module should have been already resolved"); .expect("Module should have been already resolved");
if let Some(id) = self.get_id(resolved_specifier.as_str()) { if let Some(id) = self.get_id(resolved_specifier.as_str()) {
@ -864,7 +833,6 @@ mod tests {
impl ModuleLoader for MockLoader { impl ModuleLoader for MockLoader {
fn resolve( fn resolve(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
specifier: &str, specifier: &str,
referrer: &str, referrer: &str,
_is_root: bool, _is_root: bool,
@ -891,7 +859,6 @@ mod tests {
fn load( fn load(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
module_specifier: &ModuleSpecifier, module_specifier: &ModuleSpecifier,
_maybe_referrer: Option<ModuleSpecifier>, _maybe_referrer: Option<ModuleSpecifier>,
_is_dyn_import: bool, _is_dyn_import: bool,
@ -1010,7 +977,6 @@ mod tests {
impl ModuleLoader for ModsLoader { impl ModuleLoader for ModsLoader {
fn resolve( fn resolve(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
specifier: &str, specifier: &str,
referrer: &str, referrer: &str,
_is_main: bool, _is_main: bool,
@ -1024,7 +990,6 @@ mod tests {
fn load( fn load(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
_module_specifier: &ModuleSpecifier, _module_specifier: &ModuleSpecifier,
_maybe_referrer: Option<ModuleSpecifier>, _maybe_referrer: Option<ModuleSpecifier>,
_is_dyn_import: bool, _is_dyn_import: bool,
@ -1130,7 +1095,6 @@ mod tests {
impl ModuleLoader for DynImportErrLoader { impl ModuleLoader for DynImportErrLoader {
fn resolve( fn resolve(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
specifier: &str, specifier: &str,
referrer: &str, referrer: &str,
_is_main: bool, _is_main: bool,
@ -1144,7 +1108,6 @@ mod tests {
fn load( fn load(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
_module_specifier: &ModuleSpecifier, _module_specifier: &ModuleSpecifier,
_maybe_referrer: Option<ModuleSpecifier>, _maybe_referrer: Option<ModuleSpecifier>,
_is_dyn_import: bool, _is_dyn_import: bool,
@ -1192,7 +1155,6 @@ mod tests {
impl ModuleLoader for DynImportOkLoader { impl ModuleLoader for DynImportOkLoader {
fn resolve( fn resolve(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
specifier: &str, specifier: &str,
referrer: &str, referrer: &str,
_is_main: bool, _is_main: bool,
@ -1207,7 +1169,6 @@ mod tests {
fn load( fn load(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
specifier: &ModuleSpecifier, specifier: &ModuleSpecifier,
_maybe_referrer: Option<ModuleSpecifier>, _maybe_referrer: Option<ModuleSpecifier>,
_is_dyn_import: bool, _is_dyn_import: bool,
@ -1330,7 +1291,6 @@ mod tests {
impl ModuleLoader for DynImportCircularLoader { impl ModuleLoader for DynImportCircularLoader {
fn resolve( fn resolve(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
specifier: &str, specifier: &str,
referrer: &str, referrer: &str,
_is_main: bool, _is_main: bool,
@ -1342,7 +1302,6 @@ mod tests {
fn load( fn load(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
specifier: &ModuleSpecifier, specifier: &ModuleSpecifier,
maybe_referrer: Option<ModuleSpecifier>, maybe_referrer: Option<ModuleSpecifier>,
_is_dyn_import: bool, _is_dyn_import: bool,
@ -1674,7 +1633,6 @@ mod tests {
impl ModuleLoader for ModsLoader { impl ModuleLoader for ModsLoader {
fn resolve( fn resolve(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
specifier: &str, specifier: &str,
referrer: &str, referrer: &str,
_is_main: bool, _is_main: bool,
@ -1685,7 +1643,6 @@ mod tests {
fn load( fn load(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
module_specifier: &ModuleSpecifier, module_specifier: &ModuleSpecifier,
_maybe_referrer: Option<ModuleSpecifier>, _maybe_referrer: Option<ModuleSpecifier>,
_is_dyn_import: bool, _is_dyn_import: bool,

View file

@ -2064,7 +2064,6 @@ pub mod tests {
impl ModuleLoader for ModsLoader { impl ModuleLoader for ModsLoader {
fn resolve( fn resolve(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
specifier: &str, specifier: &str,
referrer: &str, referrer: &str,
_is_main: bool, _is_main: bool,
@ -2077,7 +2076,6 @@ pub mod tests {
fn load( fn load(
&self, &self,
_op_state: Rc<RefCell<OpState>>,
_module_specifier: &ModuleSpecifier, _module_specifier: &ModuleSpecifier,
_maybe_referrer: Option<ModuleSpecifier>, _maybe_referrer: Option<ModuleSpecifier>,
_is_dyn_import: bool, _is_dyn_import: bool,