"Since strings are immutable, this class is used for constructing a string by incrementally appending characters to the empty string. This class is mutable but threadsafe." shared native class StringBuilder() { "The resulting string. If no characters have been appended, the empty string." shared actual native String string; "Append the characters in the given string." shared native StringBuilder append(String string); "Append the characters in the given strings." shared StringBuilder appendAll({String*} strings) { for (s in strings) { append(s); } return this; } "Append the given character." shared StringBuilder appendCharacter(Character character) { append(character.string); return this; } "Append a newline character." shared StringBuilder appendNewline() { appendCharacter('\n'); return this; } "Append a space character." shared StringBuilder appendSpace() { appendCharacter(' '); return this; } "Remove all content and return to initial state." shared native StringBuilder reset(); "Insert a `String` at the specified position. If the position is beyond the end of the current string, the new content is simply appended to the current content. If the position is a negative number, the new content is inserted at index 0." shared native StringBuilder insert(Integer index, String string); "Insert a `Character` at the specified position. If the position is beyond the end of the current string, the new content is simply appended to the current content. If the position is a negative number, the new content is inserted at index 0." shared native StringBuilder insertCharacter(Integer index, Character character); "Deletes the specified number of characters from the current content, starting at the specified position. If the position is beyond the end of the current content, nothing is deleted. If the number of characters to delete is greater than the available characters from the given position, the content is truncated at the given position." shared native StringBuilder delete(Integer index, Integer length); "Returns the size of the current content." shared native Integer size; }