IronRuby.Builtins.RegexpTransformer.ParseCharacterEscape C# (CSharp) Method

ParseCharacterEscape() private method

private ParseCharacterEscape ( int escape ) : CharacterSet
escape int
return CharacterSet
        private CharacterSet/*!*/ ParseCharacterEscape(int escape) {
            int result = ParseSingleByteCharacterEscape(escape);
            if (result != -1) {
                return new CharacterSet(Escape(result), true);
            }
                    
            switch (escape) {
                case 'h':
                case 'H': 
                    return MakePosixCharacterClass(PosixCharacterClass.XDigit, escape == 'h');
                    
                case 'p':
                case 'P':
                    return ParseCharacterCategoryName(escape);

                case 's':
                    return new CharacterSet(@"\s");

                case 'S':
                    return new CharacterSet(@"\S");

                case 'd':
                    return new CharacterSet(@"\d");

                case 'D':
                    return new CharacterSet(@"\D");

                case 'w':
                    return new CharacterSet(@"\w");

                case 'W':
                    return new CharacterSet(@"\W");

                default:
                    // ignore backslash unless needed
                    return new CharacterSet(Escape(escape), true);
            }
        }