diff --git a/buffer/buffer.mbt b/buffer/buffer.mbt index 57a43eba1..9fc6c9e3c 100644 --- a/buffer/buffer.mbt +++ b/buffer/buffer.mbt @@ -80,7 +80,7 @@ pub fn write_bytes(self : Buffer, value : Bytes) -> Unit { } /// Write a sub-string into buffer. -pub fn write_sub_string( +pub fn write_substring( self : Buffer, value : String, start : Int, @@ -92,6 +92,17 @@ pub fn write_sub_string( self.len += len * 2 } +/// Write a sub-string into buffer. +/// @alert deprecated "Use `Buffer::write_substring` instead" +pub fn write_sub_string( + self : Buffer, + value : String, + start : Int, + len : Int +) -> Unit { + self.write_substring(value, start, len) +} + /// Write a char into buffer. pub fn write_char(self : Buffer, value : Char) -> Unit { self.grow_if_necessary(self.len + 4) diff --git a/buffer/buffer.mbti b/buffer/buffer.mbti index 4aced83e0..cdc4299df 100644 --- a/buffer/buffer.mbti +++ b/buffer/buffer.mbti @@ -14,7 +14,8 @@ impl Buffer { write_char(Self, Char) -> Unit write_object(Self, Show) -> Unit write_string(Self, String) -> Unit - write_sub_string(Self, String, Int, Int) -> Unit + write_sub_string(Self, String, Int, Int) -> Unit //deprecated + write_substring(Self, String, Int, Int) -> Unit } // Type aliases diff --git a/buffer/buffer_test.mbt b/buffer/buffer_test.mbt index a1365f707..ca781207b 100644 --- a/buffer/buffer_test.mbt +++ b/buffer/buffer_test.mbt @@ -32,9 +32,9 @@ test "grow_if_necessary method" { assert_true!(buf.to_bytes().length() >= 60) } -test "write_sub_string method" { +test "write_substring method" { let buf = @buffer.new(size_hint=10) - buf.write_sub_string("Hello, World!", 7, 5) + buf.write_substring("Hello, World!", 7, 5) inspect!(buf, content="World") } @@ -66,9 +66,9 @@ test "grow_if_necessary method" { assert_true!(buf.to_bytes().length() >= 60) } -test "write_sub_string method" { +test "write_substring method" { let buf = @buffer.new(size_hint=10) - buf.write_sub_string("Hello, World!", 7, 5) + buf.write_substring("Hello, World!", 7, 5) inspect!(buf, content="World") } @@ -106,9 +106,9 @@ test "grow_if_necessary method" { assert_true!(buf.to_bytes().length() >= 60) } -test "write_sub_string method" { +test "write_substring method" { let buf = @buffer.new(size_hint=10) - buf.write_sub_string("Hello, World!", 7, 5) + buf.write_substring("Hello, World!", 7, 5) inspect!(buf, content="World") } diff --git a/builtin/buffer.mbt b/builtin/buffer.mbt index a32861102..a4f937957 100644 --- a/builtin/buffer.mbt +++ b/builtin/buffer.mbt @@ -81,7 +81,7 @@ pub fn write_bytes(self : Buffer, value : Bytes) -> Unit { } /// Write a sub-string into buffer. -pub fn write_sub_string( +pub fn write_substring( self : Buffer, value : String, start : Int, @@ -93,6 +93,17 @@ pub fn write_sub_string( self.len += len * 2 } +/// Write a sub-string into buffer. +/// @alert deprecated "Use `Buffer::write_substring` instead" +pub fn write_sub_string( + self : Buffer, + value : String, + start : Int, + len : Int +) -> Unit { + self.write_substring(value, start, len) +} + /// Write a char into buffer. pub fn write_char(self : Buffer, value : Char) -> Unit { self.grow_if_necessary(self.len + 4) diff --git a/builtin/builtin.mbti b/builtin/builtin.mbti index 6da03d1a7..54fd2a5b5 100644 --- a/builtin/builtin.mbti +++ b/builtin/builtin.mbti @@ -175,7 +175,8 @@ impl Buffer { write_char(Self, Char) -> Unit write_object(Self, Show) -> Unit write_string(Self, String) -> Unit - write_sub_string(Self, String, Int, Int) -> Unit + write_sub_string(Self, String, Int, Int) -> Unit //deprecated + write_substring(Self, String, Int, Int) -> Unit } pub type! Failure String @@ -350,7 +351,7 @@ impl StringBuilder { write_char(Self, Char) -> Unit write_object[T : Show](Self, T) -> Unit write_string(Self, String) -> Unit - write_sub_string(Self, String, Int, Int) -> Unit + write_substring(Self, String, Int, Int) -> Unit } pub type UnsafeMaybeUninit @@ -723,6 +724,7 @@ pub trait Hash { pub trait Logger { write_string(Self, String) -> Unit + write_substring(Self, String, Int, Int) -> Unit write_sub_string(Self, String, Int, Int) -> Unit write_char(Self, Char) -> Unit } @@ -765,6 +767,8 @@ impl Hash for Tuple(6) impl Hash for Tuple(7) +impl Logger::write_sub_string + impl Show for Unit impl Show for Bool diff --git a/builtin/show.mbt b/builtin/show.mbt index 3693ed990..feb6ca8e9 100644 --- a/builtin/show.mbt +++ b/builtin/show.mbt @@ -70,7 +70,7 @@ pub impl Show for String with output(self, logger) { let mut segment_start = 0 fn flush_segment(i : Int) { if i > segment_start { - logger.write_sub_string(self, segment_start, i - segment_start) + logger.write_substring(self, segment_start, i - segment_start) } segment_start = i + 1 } diff --git a/builtin/stringbuilder_buffer.mbt b/builtin/stringbuilder_buffer.mbt index b7c5f13e8..a6df1876b 100644 --- a/builtin/stringbuilder_buffer.mbt +++ b/builtin/stringbuilder_buffer.mbt @@ -53,7 +53,7 @@ pub fn StringBuilder::write_char(self : StringBuilder, ch : Char) -> Unit { self.len += inc } -pub fn StringBuilder::write_sub_string( +pub fn StringBuilder::write_substring( self : StringBuilder, str : String, start : Int, diff --git a/builtin/stringbuilder_concat.mbt b/builtin/stringbuilder_concat.mbt index dad240989..963fe795c 100644 --- a/builtin/stringbuilder_concat.mbt +++ b/builtin/stringbuilder_concat.mbt @@ -27,7 +27,7 @@ pub fn StringBuilder::write_char(self : StringBuilder, ch : Char) -> Unit { self.val += Char::to_string(ch) } -pub fn StringBuilder::write_sub_string( +pub fn StringBuilder::write_substring( self : StringBuilder, str : String, start : Int, diff --git a/builtin/stringbuilder_test.mbt b/builtin/stringbuilder_test.mbt index 5d4eb3749..14ee350bd 100644 --- a/builtin/stringbuilder_test.mbt +++ b/builtin/stringbuilder_test.mbt @@ -24,7 +24,7 @@ test "stringbuilder" { let buf = StringBuilder::new() buf.write_string("hello") buf.write_char(' ') - buf.write_sub_string("world", 0, 3) + buf.write_substring("world", 0, 3) inspect!(buf.to_string(), content="hello wor") } diff --git a/builtin/traits.mbt b/builtin/traits.mbt index a7903494a..93f6ac852 100644 --- a/builtin/traits.mbt +++ b/builtin/traits.mbt @@ -47,10 +47,16 @@ pub trait Default { /// Trait for a logger, where debug logs can be written into pub trait Logger { write_string(Self, String) -> Unit + write_substring(Self, String, Int, Int) -> Unit + /// @alert deprecated "use `Logger::write_substring` instead" write_sub_string(Self, String, Int, Int) -> Unit write_char(Self, Char) -> Unit } +impl Logger with write_sub_string(self, value, start, len) { + self.write_substring(value, start, len) +} + /// Trait for types that can be converted to `String` pub trait Show { // `output` is used for composition of aggregate structure. diff --git a/coverage/coverage.mbt b/coverage/coverage.mbt index a0c414ee4..21169c901 100644 --- a/coverage/coverage.mbt +++ b/coverage/coverage.mbt @@ -102,14 +102,14 @@ pub fn end() -> Unit { let mut start = 0 for j = 0; j < str.length(); j = j + 1 { if str[j] == '\n' { - line_buf.write_sub_string(str, start, j) + line_buf.write_substring(str, start, j) println(line_buf.to_string()) line_buf.reset() start = j + 1 } } if start < str.length() { - line_buf.write_sub_string(str, start, str.length()) + line_buf.write_substring(str, start, str.length()) } } let trailing_line = line_buf.to_string() diff --git a/json/lex_string.mbt b/json/lex_string.mbt index a0aea994e..455b5e5f2 100644 --- a/json/lex_string.mbt +++ b/json/lex_string.mbt @@ -17,7 +17,7 @@ fn lex_string(ctx : ParseContext) -> String!ParseError { let mut start = ctx.offset fn flush(end : Int) { if start > 0 && end > start { - buf.write_sub_string(ctx.input, start, end - start) + buf.write_substring(ctx.input, start, end - start) } }