Пример #1
0
        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));
        }
Пример #2
0
 public ResourceParameterType(NamespaceType declaringNamespace, ResourceTypeReference typeReference)
     : base(typeReference.FormatType())
 {
     this.DeclaringNamespace = declaringNamespace;
     this.TypeReference      = typeReference;
 }
Пример #3
0
 public UnboundResourceType(ResourceTypeReference typeReference)
     : base(typeReference.FormatType())
 {
     this.TypeReference = typeReference;
 }