public override string ToString()
        {
            if (ClassificationName.StartsWith("regex"))
            {
                var remainder = ClassificationName.Substring("regex - ".Length);
                var parts     = remainder.Split(' ');
                var type      = string.Join("", parts.Select(Capitalize));
                return("Regex." + $"{type}(\"{Text}\")");
            }

            switch (ClassificationName)
            {
            case "punctuation":
                switch (Text)
                {
                case "(":
                    return("Punctuation.OpenParen");

                case ")":
                    return("Punctuation.CloseParen");

                case "{":
                    return("Punctuation.OpenCurly");

                case "}":
                    return("Punctuation.CloseCurly");

                case ";":
                    return("Punctuation.Semicolon");

                case ":":
                    return("Punctuation.Colon");

                case ",":
                    return("Punctuation.Comma");
                }

                goto default;

            case "operator":
                switch (Text)
                {
                case "=":
                    return("Operators.Equals");

                case "++":
                    return("Operators.PlusPlus");
                }

                goto default;

            default:
                return($"{Capitalize(ClassificationName)}(\"{Text}\")");
            }
        }
示例#2
0
        public override string ToString()
        {
            switch (ClassificationName)
            {
            case "punctuation":
                switch (Text)
                {
                case "(":
                    return("Punctuation.OpenParen");

                case ")":
                    return("Punctuation.CloseParen");

                case "{":
                    return("Punctuation.OpenCurly");

                case "}":
                    return("Punctuation.CloseCurly");

                case ";":
                    return("Punctuation.Semicolon");

                case ":":
                    return("Punctuation.Colon");

                case ",":
                    return("Punctuation.Comma");
                }
                goto default;

            case "operator":
                switch (Text)
                {
                case "=":
                    return("Operators.Equals");

                case "++":
                    return("Operators.PlusPlus");
                }
                goto default;

            default:
                return($"{char.ToUpperInvariant(ClassificationName[0])}{ClassificationName.Substring(1)}(\"{Text}\")");
            }
        }
 public override int GetHashCode()
 => ClassificationName.GetHashCode() ^ Text.GetHashCode();
 public override int GetHashCode()
 {
     return(ClassificationName.GetHashCode() ^ Text.GetHashCode());
 }