Skip to content

Commit ed14aae

Browse files
authored
feat: Remove SourceMapGetter trait (#847)
This trait was deprecated in #823 and is scheduled to be removed in 0.300.0
1 parent 2927e78 commit ed14aae

File tree

3 files changed

+5
-54
lines changed

3 files changed

+5
-54
lines changed

core/lib.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,6 @@ pub use crate::runtime::MODULE_MAP_SLOT_INDEX;
161161
pub use crate::runtime::V8_WRAPPER_OBJECT_INDEX;
162162
pub use crate::runtime::V8_WRAPPER_TYPE_INDEX;
163163
pub use crate::source_map::SourceMapData;
164-
#[allow(deprecated)]
165-
pub use crate::source_map::SourceMapGetter;
166164
pub use crate::tasks::V8CrossThreadTaskSpawner;
167165
pub use crate::tasks::V8TaskSpawner;
168166

core/runtime/jsruntime.rs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,6 @@ use crate::runtime::ContextState;
4545
use crate::runtime::JsRealm;
4646
use crate::runtime::OpDriverImpl;
4747
use crate::source_map::SourceMapData;
48-
#[allow(deprecated)]
49-
use crate::source_map::SourceMapGetter;
5048
use crate::source_map::SourceMapper;
5149
use crate::stats::RuntimeActivityType;
5250
use crate::Extension;
@@ -443,11 +441,6 @@ pub struct JsRuntimeState {
443441

444442
#[derive(Default)]
445443
pub struct RuntimeOptions {
446-
/// Source map reference for errors.
447-
#[deprecated = "Update `ModuleLoader` trait implementations. This option will be removed in deno_core v0.300.0."]
448-
#[allow(deprecated)]
449-
pub source_map_getter: Option<Rc<dyn SourceMapGetter>>,
450-
451444
/// Allows to map error type to a string "class" used to represent
452445
/// error in JavaScript.
453446
pub get_error_class_fn: Option<GetErrorClassFn>,
@@ -694,9 +687,7 @@ impl JsRuntime {
694687
.module_loader
695688
.unwrap_or_else(|| Rc::new(NoopModuleLoader));
696689

697-
#[allow(deprecated)]
698-
let mut source_mapper =
699-
SourceMapper::new(loader.clone(), options.source_map_getter);
690+
let mut source_mapper = SourceMapper::new(loader.clone());
700691

701692
let mut sources = extension_set::into_sources_and_source_maps(
702693
options.extension_transpiler.as_deref(),

core/source_map.rs

Lines changed: 4 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22

33
//! This mod provides functions to remap a `JsError` based on a source map.
44
5-
// TODO(bartlomieju): remove once `SourceMapGetter` is removed.
6-
#![allow(deprecated)]
7-
85
use crate::resolve_url;
96
use crate::ModuleLoader;
107
use crate::ModuleName;
@@ -14,17 +11,6 @@ use std::collections::HashMap;
1411
use std::rc::Rc;
1512
use std::str;
1613

17-
#[deprecated = "Use `ModuleLoader` methods instead. This trait will be removed in deno_core v0.300.0."]
18-
pub trait SourceMapGetter {
19-
/// Returns the raw source map file.
20-
fn get_source_map(&self, file_name: &str) -> Option<Vec<u8>>;
21-
fn get_source_line(
22-
&self,
23-
file_name: &str,
24-
line_number: usize,
25-
) -> Option<String>;
26-
}
27-
2814
#[derive(Debug, PartialEq)]
2915
pub enum SourceMapApplication {
3016
/// No mapping was applied, the location is unchanged.
@@ -51,22 +37,17 @@ pub struct SourceMapper {
5137
source_lines: HashMap<(String, i64), Option<String>>,
5238

5339
loader: Rc<dyn ModuleLoader>,
54-
getter: Option<Rc<dyn SourceMapGetter>>,
5540

5641
ext_source_maps: HashMap<ModuleName, SourceMapData>,
5742
}
5843

5944
impl SourceMapper {
60-
pub fn new(
61-
loader: Rc<dyn ModuleLoader>,
62-
getter: Option<Rc<dyn SourceMapGetter>>,
63-
) -> Self {
45+
pub fn new(loader: Rc<dyn ModuleLoader>) -> Self {
6446
Self {
6547
maps: Default::default(),
6648
source_lines: Default::default(),
6749
ext_source_maps: Default::default(),
6850
loader,
69-
getter,
7051
}
7152
}
7253

@@ -100,7 +81,6 @@ impl SourceMapper {
10081
let line_number = line_number - 1;
10182
let column_number = column_number - 1;
10283

103-
let getter = self.getter.as_ref();
10484
let maybe_source_map =
10585
self.maps.entry(file_name.to_owned()).or_insert_with(|| {
10686
None
@@ -110,9 +90,6 @@ impl SourceMapper {
11090
.or_else(|| {
11191
SourceMap::from_slice(&self.loader.get_source_map(file_name)?).ok()
11292
})
113-
.or_else(|| {
114-
SourceMap::from_slice(&getter?.get_source_map(file_name)?).ok()
115-
})
11693
});
11794

11895
let Some(source_map) = maybe_source_map.as_ref() else {
@@ -172,24 +149,9 @@ impl SourceMapper {
172149
return maybe_source_line.clone();
173150
}
174151

175-
// TODO(bartlomieju): shouldn't we cache `None` values to avoid computing it each time, instead of early return?
176-
if let Some(source_line) = self
152+
let s = self
177153
.loader
178-
.get_source_mapped_source_line(file_name, (line_number - 1) as usize)
179-
.filter(|s| s.len() <= Self::MAX_SOURCE_LINE_LENGTH)
180-
{
181-
// Cache and return
182-
self.source_lines.insert(
183-
(file_name.to_string(), line_number),
184-
Some(source_line.to_string()),
185-
);
186-
return Some(source_line);
187-
}
188-
189-
// TODO(bartlomieju): remove in deno_core 0.230.0
190-
// Fallback to a deprecated API
191-
let getter = self.getter.as_ref()?;
192-
let s = getter.get_source_line(file_name, (line_number - 1) as usize);
154+
.get_source_mapped_source_line(file_name, (line_number - 1) as usize);
193155
let maybe_source_line =
194156
s.filter(|s| s.len() <= Self::MAX_SOURCE_LINE_LENGTH);
195157
// Cache and return
@@ -275,7 +237,7 @@ mod tests {
275237
},
276238
);
277239

278-
let mut source_mapper = SourceMapper::new(Rc::new(loader), None);
240+
let mut source_mapper = SourceMapper::new(Rc::new(loader));
279241

280242
// Non-existent file
281243
let application =

0 commit comments

Comments
 (0)