From 8a3ad6b7331ecf9b1e3a596592a58a6192949bf8 Mon Sep 17 00:00:00 2001 From: Adrian Smith Date: Sat, 12 Apr 2025 15:49:00 -0700 Subject: [PATCH] Fix Rope CharSequence `.toString` implemention. --- src/io/lacuna/bifurcan/Rope.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/io/lacuna/bifurcan/Rope.java b/src/io/lacuna/bifurcan/Rope.java index 7827553..f911634 100644 --- a/src/io/lacuna/bifurcan/Rope.java +++ b/src/io/lacuna/bifurcan/Rope.java @@ -292,6 +292,18 @@ public IntStream chars() { public IntStream codePoints() { return IntIterators.toStream(Rope.this.codePoints(), root.numCodePoints()); } + + @Override + public String toString() { + char[] cs = new char[root.numCodeUnits()]; + Iterator it = chunks(); + int offset = 0; + while (it.hasNext()) { + offset += UnicodeChunk.writeCodeUnits(cs, offset, it.next()); + } + + return new String(cs); + } }; }