IronRuby.Builtins.MutableString.Content.UpdateAsciiAndSurrogatesFlags C# (CSharp) Method

UpdateAsciiAndSurrogatesFlags() static private method

static private UpdateAsciiAndSurrogatesFlags ( char str, int itemCount, uint flags ) : uint
str char
itemCount int
flags uint
return uint
            internal static uint UpdateAsciiAndSurrogatesFlags(char[]/*!*/ str, int itemCount, uint flags) {
                int sum = 0;
                for (int i = 0; i < itemCount; i++) {
                    int c = str[i];
                    if (Tokenizer.IsSurrogate(c)) {
                        return flags & ~(MutableString.SurrogatesUnknownFlag | MutableString.AsciiUnknownFlag | MutableString.IsAsciiFlag | MutableString.NoSurrogatesFlag);
                    }
                    sum |= c;
                }

                return (sum < 0x80)
                  ? flags & ~(MutableString.SurrogatesUnknownFlag | MutableString.AsciiUnknownFlag) | MutableString.IsAsciiFlag | MutableString.NoSurrogatesFlag
                  : flags & ~(MutableString.SurrogatesUnknownFlag | MutableString.AsciiUnknownFlag | MutableString.IsAsciiFlag) | MutableString.NoSurrogatesFlag;
            }

Same methods

MutableString.Content::UpdateAsciiAndSurrogatesFlags ( string str, uint flags ) : uint