diff --git a/src/encoder.rs b/src/encoder.rs index 84dd6ff8..251cdd52 100644 --- a/src/encoder.rs +++ b/src/encoder.rs @@ -57,6 +57,10 @@ fn encode_rmi(out: &mut Vec, data: &mut Vec) { } fn serialize_range_mappings(sm: &SourceMap) -> Option { + if sm.tokens().all(|t| !t.is_range()) { + return None; + } + let mut buf = Vec::new(); let mut prev_line = 0; let mut had_rmi = false; @@ -79,7 +83,7 @@ fn serialize_range_mappings(sm: &SourceMap) -> Option { rmi_bits.set(num, true); } - while token.get_dst_line() != prev_line { + while token.get_dst_line() > prev_line { if had_rmi { encode_rmi(&mut buf, &mut rmi_data); rmi_data.clear(); @@ -117,7 +121,7 @@ fn serialize_mappings(sm: &SourceMap) -> String { if token.get_dst_line() != prev_dst_line { prev_dst_col = 0; - while token.get_dst_line() != prev_dst_line { + while token.get_dst_line() > prev_dst_line { rv.push(';'); prev_dst_line += 1; }