public ResourceTypeComponents LoadType(ResourceTypeReference reference) { var typeLocation = availableTypes[reference]; if (!availableFunctions.TryGetValue(reference.FormatType(), out var apiFunctions) || reference.ApiVersion is null || !apiFunctions.TryGetValue(reference.ApiVersion, out var functions)) { functions = ImmutableArray <TypeLocation> .Empty; } var functionOverloads = functions.SelectMany(typeLocation => resourceTypeFactory.GetResourceFunctionOverloads(typeLoader.LoadResourceFunctionType(typeLocation))); var serializedResourceType = typeLoader.LoadResourceType(typeLocation); return(resourceTypeFactory.GetResourceType(serializedResourceType, functionOverloads)); }
public ResourceParameterType(NamespaceType declaringNamespace, ResourceTypeReference typeReference) : base(typeReference.FormatType()) { this.DeclaringNamespace = declaringNamespace; this.TypeReference = typeReference; }
public UnboundResourceType(ResourceTypeReference typeReference) : base(typeReference.FormatType()) { this.TypeReference = typeReference; }