From 319112f96b4231a9e741f7ea513099f51755590c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 14 Jun 2024 22:30:44 +0900 Subject: [PATCH 1/2] skip --- src/encoder.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/encoder.rs b/src/encoder.rs index 84dd6ff..f6a106e 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; From 9cfb4a1ab997e3bad8f15c8cb0c2bba59c8501f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EB=8F=99=EC=9C=A4=20=28Donny=29?= Date: Fri, 14 Jun 2024 22:35:30 +0900 Subject: [PATCH 2/2] Avoid infiniete loop --- src/encoder.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/encoder.rs b/src/encoder.rs index f6a106e..251cdd5 100644 --- a/src/encoder.rs +++ b/src/encoder.rs @@ -83,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(); @@ -121,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; }