diff options
| author | Guanqun Lu <guanqun.lu@gmail.com> | 2019-10-12 22:47:17 +0800 |
|---|---|---|
| committer | Guanqun Lu <guanqun.lu@gmail.com> | 2019-10-12 23:00:48 +0800 |
| commit | 63cb2fa1973e1fcff335f858f77496ba2c8d252c (patch) | |
| tree | bdb745ef0d8120517277c579e7db62e6a17cbc70 | |
| parent | e0395341f7e38e804646bce23809b407564e84db (diff) | |
| download | rust-63cb2fa1973e1fcff335f858f77496ba2c8d252c.tar.gz rust-63cb2fa1973e1fcff335f858f77496ba2c8d252c.zip | |
compress the function, remove the assert check.
| -rw-r--r-- | src/libsyntax/source_map.rs | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/src/libsyntax/source_map.rs b/src/libsyntax/source_map.rs index 07c301f524e..5e569f9dae3 100644 --- a/src/libsyntax/source_map.rs +++ b/src/libsyntax/source_map.rs @@ -878,17 +878,8 @@ impl SourceMap { // Returns the index of the `SourceFile` (in `self.files`) that contains `pos`. pub fn lookup_source_file_idx(&self, pos: BytePos) -> usize { - let files = self.files.borrow(); - let files = &files.source_files; - let count = files.len(); - - // (p - 1) below will not underflow, this follows previous implementation's assumption. - assert!(count >= 1); - let ret = files.binary_search_by_key(&pos, |key| key.start_pos).unwrap_or_else(|p| p - 1); - - assert!(ret < count, "position {} does not resolve to a source location", pos.to_usize()); - - return ret; + self.files.borrow().source_files.binary_search_by_key(&pos, |key| key.start_pos) + .unwrap_or_else(|p| p - 1) } pub fn count_lines(&self) -> usize { |
