@@ -34,6 +34,11 @@ class StringBuf {
var b:String = "";
+ /**
+ The length of [this] StringBuf in characters.
+ **/
+ public var length(get,never) : Int;
+
/**
Creates a new StringBuf instance.
@@ -41,6 +46,10 @@ class StringBuf {
**/
public function new() {}
+ inline function get_length() : Int {
+ return b.length;
+ }
Appends the representation of [x] to [this] StringBuf.
@@ -24,10 +24,18 @@ class StringBuf {
private var b : Array<String>;
public function new() : Void {
b = new Array();
}
+ function get_length() : Int {
+ var len = 0;
+ for(s in b) len += s.length;
+ return len;
public function add( x : Dynamic ) : Void {
b.push(x);
@@ -25,6 +25,7 @@ package cs;
//Once this bug is fixed, it will be moved back to the cs.system.text package
@:native('System.Text.StringBuilder') extern class StringBuilder
{
+ var Length(default,never):Int;
function new():Void;
@@ -24,10 +24,16 @@ class StringBuf {
private var b : cs.StringBuilder;
b = new cs.StringBuilder();
+ return b.Length;
public inline function add( x : Dynamic ) : Void {
b.Append(Std.string(x));
private var b : java.lang.StringBuilder;
b = new java.lang.StringBuilder();
+ return b.length();
if (Std.is(x, Int))
@@ -23,10 +23,16 @@
private var b : Dynamic;
b = __make();
+ return untyped __dollar__ssize( __to_string(b) );
__add(b,x);
@@ -22,10 +22,16 @@
@:coreApi class StringBuf {
private var b : String;
b = "";
untyped if( __call__('is_null',x) ) x = 'null' else if( __call__('is_bool',x) ) x = x?'true':'false';
b += x;