Code Review: MutableStringCenter

tfpt review “/shelveset:MutableStringCenter;REDMOND\dremy”
Comment :
Made changes for MutableString.center to pass specs. Included flowing
taint correctly, subclassing, changing signature to use object and then
doing manual conversion.

I know that at some point, we were always defining multiple overloads in
cases like this. For center, I would have probably included both the
old signature and the new one:

Center(CodeContext, MutableString, int len, [Optional]MutableString
padding);
Center(CodeContext, MutableString, object len, [Optional]object pad);

…and simply had the more general version do it’s protocol-based
conversions and then call the more specific implementation. But I don’t
know if that’s still the convention we’re following for the libraries.

There’s an overload for FlowTaint() that will accept two from args. If
either self or padding is tainted the result is tainted, and that’s
what that form of FlowTaint() will do.

Thanks,
-John