1 instantiation of TypeRef
Microsoft.CodeAnalysis.LanguageServer.Protocol (1)
src\LanguageServer\Microsoft.CommonLanguageServerProtocol.Framework\TypeRef.cs (1)
91return s_cache.GetOrAdd(key, new TypeRef(typeName, assemblyName, codeBase));
89 references to TypeRef
Microsoft.CodeAnalysis.LanguageServer (1)
ExtensionTypeRefResolver.cs (1)
15protected override Type? ResolveCore(TypeRef typeRef)
Microsoft.CodeAnalysis.LanguageServer.Protocol (56)
Handler\WorkspaceCommand\ExecuteWorkspaceCommandHandler.cs (2)
37var handler = (AbstractExecuteWorkspaceCommandHandler)handlerProvider.GetMethodHandler(requestMethod, TypeRef.FromOrNull(typeof(ExecuteCommandParams)), TypeRef.FromOrNull(typeof(object)), LanguageServerConstants.DefaultLanguageName);
LspServices\AbstractExportLspServiceAttribute.cs (2)
99void AddTypeRef(TypeRef? typeRef) 101if (typeRef is TypeRef t)
LspServices\LspServiceMetadataView.cs (7)
15public TypeRef TypeRef { get; } 32TypeRef = TypeRef.From(typeName, assemblyName, codeBase); 51var requestTypeRef = ReadTypeRef(methodHandlerData, ref index); 52var responseTypeRef = ReadTypeRef(methodHandlerData, ref index); 53var requestContextTypeRef = ReadTypeRef(methodHandlerData, ref index); 71static TypeRef? ReadTypeRef(string?[] methodHandlerData, ref int index) 85return TypeRef.From(typeName, assemblyName, codeBase);
LspServices\LspServices.cs (3)
169public ImmutableArray<(IMethodHandler? Instance, TypeRef HandlerTypeRef, ImmutableArray<MethodHandlerDetails> HandlerDetails)> GetMethodHandlers() 171using var _ = ArrayBuilder<(IMethodHandler?, TypeRef, ImmutableArray<MethodHandlerDetails>)>.GetInstance(out var builder); 179builder.Add((handler, TypeRef.From(handlerType), methods));
src\LanguageServer\Microsoft.CommonLanguageServerProtocol.Framework\AbstractHandlerProvider.cs (4)
26/// <param name="requestTypeRef">A <see cref="TypeRef"/> representing the request type for this method.</param> 27/// <param name="responseTypeRef">A <see cref="TypeRef"/> representing the response type for this method.</param> 34public abstract IMethodHandler GetMethodHandler(string method, TypeRef? requestTypeRef, TypeRef? responseTypeRef, string language);
src\LanguageServer\Microsoft.CommonLanguageServerProtocol.Framework\AbstractLanguageServer.cs (2)
66TypeRefResolver = typeRefResolver ?? TypeRef.DefaultResolver.Instance; 148static bool AllTypesMatch(IEnumerable<TypeRef?> typeRefs)
src\LanguageServer\Microsoft.CommonLanguageServerProtocol.Framework\AbstractTypeRefResolver.cs (3)
15private readonly ConcurrentDictionary<TypeRef, Type?> _typeRefToTypeMap = []; 17public Type? Resolve(TypeRef typeRef) 28protected abstract Type? ResolveCore(TypeRef typeRef);
src\LanguageServer\Microsoft.CommonLanguageServerProtocol.Framework\HandlerProvider.cs (5)
23public IMethodHandler GetMethodHandler(string method, TypeRef? requestTypeRef, TypeRef? responseTypeRef) 26public override IMethodHandler GetMethodHandler(string method, TypeRef? requestTypeRef, TypeRef? responseTypeRef, string language) 103static Lazy<IMethodHandler> GetLazyHandlerFromTypeRef(ILspServices lspServices, AbstractTypeRefResolver typeRefResolver, TypeRef handlerTypeRef)
src\LanguageServer\Microsoft.CommonLanguageServerProtocol.Framework\IMethodHandlerProvider.cs (1)
18ImmutableArray<(IMethodHandler? Instance, TypeRef HandlerTypeRef, ImmutableArray<MethodHandlerDetails> HandlerDetails)> GetMethodHandlers();
src\LanguageServer\Microsoft.CommonLanguageServerProtocol.Framework\MethodHandlerDetails.cs (9)
21/// <param name="RequestTypeRef">A <see cref="TypeRef"/> representing the request type, if any.</param> 22/// <param name="ResponseTypeRef">A <see cref="TypeRef"/> representing the response type, if any.</param> 23/// <param name="RequestContextTypeRef">A <see cref="TypeRef"/> representing the context type.</param> 27TypeRef? RequestTypeRef, 28TypeRef? ResponseTypeRef, 29TypeRef RequestContextTypeRef) 45TypeRef.FromOrNull(requestType), 46TypeRef.FromOrNull(responseType), 47TypeRef.From(requestContextType)));
src\LanguageServer\Microsoft.CommonLanguageServerProtocol.Framework\NewtonsoftLanguageServer.cs (1)
29var requestTypeRef = metadata.RequestTypeRef;
src\LanguageServer\Microsoft.CommonLanguageServerProtocol.Framework\RequestExecutionQueue.cs (2)
108var requestType = metadata.RequestTypeRef is TypeRef requestTypeRef 111var responseType = metadata.ResponseTypeRef is TypeRef responseTypeRef
src\LanguageServer\Microsoft.CommonLanguageServerProtocol.Framework\RequestHandlerMetadata.cs (2)
10internal sealed record RequestHandlerMetadata(string MethodName, TypeRef? RequestTypeRef, TypeRef? ResponseTypeRef, string Language)
src\LanguageServer\Microsoft.CommonLanguageServerProtocol.Framework\TypeRef.cs (12)
16internal sealed partial class TypeRef : IEquatable<TypeRef> 18private static readonly ConcurrentDictionary<(string TypeName, string AssemblyName, string? CodeBase), TypeRef> s_cache = []; 48=> Equals(obj as TypeRef); 50public bool Equals(TypeRef? other) 77/// Constructs a <see cref="TypeRef"/> instance. 82public static TypeRef From(string typeName, string assemblyName, string? codeBase) 86if (s_cache.TryGetValue(key, out var result)) 95/// Constructs a <see cref="TypeRef"/> from a <see cref="Type"/>. 98public static TypeRef From(Type type) 116/// Constructs a <see cref="TypeRef"/> from a <see cref="Type"/> or returns <see langword="null"/> 119public static TypeRef? FromOrNull(Type? type) 122public static TypeRef Of<T>() => From(typeof(T));
src\LanguageServer\Microsoft.CommonLanguageServerProtocol.Framework\TypeRef.DefaultResolver.cs (1)
22protected override Type? ResolveCore(TypeRef typeRef)
Microsoft.CodeAnalysis.LanguageServer.Protocol.UnitTests (2)
TestConfigurableDocumentHandler.cs (2)
63TypeRef.From(typeof(TestRequestWithDocument)), TypeRef.From(typeof(TestConfigurableResponse)), LanguageServerConstants.DefaultLanguageName);
Microsoft.CommonLanguageServerProtocol.Framework.UnitTests (30)
HandlerProviderTests.cs (2)
63Assert.Throws<InvalidOperationException>(() => handlerProvider.GetMethodHandler(TestMethodHandler.Name, TestMethodHandler.RequestType, responseTypeRef: TypeRef.Of<long>(), LanguageServerConstants.DefaultLanguageName)); 96=> new(GetLspServices(supportsMethodHandlerProvider), TypeRef.DefaultResolver.Instance);
Mocks\TestHandlerProvider.cs (2)
18public override IMethodHandler GetMethodHandler(string method, TypeRef? requestType, TypeRef? responseType, string language)
Mocks\TestLspServices.cs (2)
50public ImmutableArray<(IMethodHandler? Instance, TypeRef HandlerTypeRef, ImmutableArray<MethodHandlerDetails> HandlerDetails)> GetMethodHandlers() 51=> [.. Services.Where(s => s.instance is IMethodHandler).Select(s => ((IMethodHandler?)s.instance, TypeRef.From(s.instance.GetType()), MethodHandlerDetails.From(s.instance.GetType())))];
Mocks\TestMethodHandlers.cs (24)
22public static TypeRef RequestType = TypeRef.Of<MockRequest>(); 23public static TypeRef ResponseType = TypeRef.Of<MockResponse>(); 38public static TypeRef ResponseTypeRef = TypeRef.Of<MockResponse>(); 52public static TypeRef RequestTypeRef = TypeRef.Of<MockRequest>(); 88public static readonly RequestHandlerMetadata Metadata = new(Name, RequestTypeRef: TypeRef.Of<MockRequest>(), ResponseTypeRef: TypeRef.Of<MockResponse>(), LanguageServerConstants.DefaultLanguageName); 107public static readonly RequestHandlerMetadata Metadata = new(Name, RequestTypeRef: TypeRef.Of<MockRequest>(), ResponseTypeRef: TypeRef.Of<MockResponse>(), LanguageServerConstants.DefaultLanguageName); 129public static readonly RequestHandlerMetadata Metadata = new(Name, RequestTypeRef: TypeRef.Of<MockRequest>(), ResponseTypeRef: TypeRef.Of<MockResponse>(), LanguageServerConstants.DefaultLanguageName); 148public static readonly RequestHandlerMetadata Metadata = new(Name, RequestTypeRef: TypeRef.Of<MockRequest>(), ResponseTypeRef: TypeRef.Of<MockResponse>(), LanguageServerConstants.DefaultLanguageName); 165public static TypeRef RequestType = TypeRef.Of<MockRequest>(); 166public static TypeRef ResponseType = TypeRef.Of<MockResponse>(); 181public static TypeRef RequestType = TypeRef.Of<MockRequest>(); 182public static TypeRef ResponseType = TypeRef.Of<MockResponse>();