private P5StringNumber ForceString(Runtime runtime) { P5StringNumber sn = body as P5StringNumber; if (sn == null) body = sn = new P5StringNumber(runtime, body.AsString(runtime)); else if (sn.stringValue == null) { sn.stringValue = sn.AsString(runtime); sn.flags = P5StringNumber.HasString; } return sn; }
public P5Scalar ConcatAssign(Runtime runtime, IP5Any other) { P5StringNumber sn = body as P5StringNumber; if (sn == null) body = sn = new P5StringNumber(runtime, body.AsString(runtime)); else sn.flags = P5StringNumber.HasString; sn.stringValue = sn.stringValue + other.AsScalar(runtime).AsString(runtime); sn.pos = -1; return this; }