internal static RequestSignature Parse(string signature)
 {
     var scanner = new Scanner(signature);
     var builder = ImmutableArray.CreateBuilder<Token>();
     Token token;
     do
     {
         scanner.MoveNext();
         token = scanner.CurrentToken;
         builder.Add(token);
     } while (token.Kind != TokenKind.End);
     var parser = new MemberSignatureParser(builder.ToImmutable());
     try
     {
         return parser.Parse();
     }
     catch (InvalidSignatureException)
     {
         return null;
     }
 }
示例#2
0
        internal static RequestSignature Parse(string signature)
        {
            var   scanner = new Scanner(signature);
            var   builder = ImmutableArray.CreateBuilder <Token>();
            Token token;

            do
            {
                scanner.MoveNext();
                token = scanner.CurrentToken;
                builder.Add(token);
            } while (token.Kind != TokenKind.End);
            var parser = new MemberSignatureParser(builder.ToImmutable());

            try
            {
                return(parser.Parse());
            }
            catch (InvalidSignatureException)
            {
                return(null);
            }
        }
示例#3
0
 internal override RequestSignature GetParsedSignature(DkmRuntimeFunctionResolutionRequest request)
 {
     return(MemberSignatureParser.Parse(request.FunctionName));
 }