private Token ReadHexNumber()

in src/Parsing/Impl/Tokens/Tokenizer.cs [1243:1300]


        private Token ReadHexNumber() {
            string tokenStr;
            while (true) {
                var ch = NextChar();

                switch (ch) {
                    case '0':
                    case '1':
                    case '2':
                    case '3':
                    case '4':
                    case '5':
                    case '6':
                    case '7':
                    case '8':
                    case '9':
                    case 'a':
                    case 'b':
                    case 'c':
                    case 'd':
                    case 'e':
                    case 'f':
                    case 'A':
                    case 'B':
                    case 'C':
                    case 'D':
                    case 'E':
                    case 'F':
                        break;

                    case 'l':
                    case 'L':
                        MarkTokenEnd();

                        tokenStr = GetTokenString();
                        if (Verbatim) {
                            return new VerbatimConstantValueToken(ParseBigInteger(tokenStr.Substring(2), 16), tokenStr);
                        }
                        return new ConstantValueToken(ParseBigInteger(tokenStr.Substring(2), 16));

                    case '_':
                        if (LanguageVersion < PythonLanguageVersion.V36) {
                            goto default;
                        }
                        break;

                    default:
                        BufferBack();
                        MarkTokenEnd();

                        tokenStr = GetTokenString();
                        if (Verbatim) {
                            return new VerbatimConstantValueToken(ParseInteger(tokenStr.Substring(2), 16), tokenStr);
                        }
                        return new ConstantValueToken(ParseInteger(tokenStr.Substring(2), 16));
                }
            }
        }