43 instantiations of AtsCapabilityInfo
Aspire.Hosting.CodeGeneration.Go.Tests (3)
Aspire.Hosting.CodeGeneration.Java.Tests (6)
Aspire.Hosting.CodeGeneration.Python (1)
Aspire.Hosting.CodeGeneration.Python.Tests (6)
Aspire.Hosting.CodeGeneration.TypeScript.Tests (12)
Aspire.Hosting.Native.CodeGeneration (4)
Aspire.Hosting.RemoteHost (6)
Aspire.Hosting.RemoteHost.Tests (5)
496 references to AtsCapabilityInfo
aspire-managed (7)
Aspire.Hosting.Azure.EntraId.Tests (1)
Aspire.Hosting.CodeGeneration.Go (59)
AtsGoCodeGenerator.ApiProjection.cs (11)
364private Dictionary<string, (AtsCapabilityInfo Capability, List<string> UsedBy)> CollectOptionsProducers(AtsContext context)
366var producers = new Dictionary<string, (AtsCapabilityInfo Capability, List<string> UsedBy)>(StringComparer.Ordinal);
367foreach (var capability in context.Capabilities)
669Dictionary<string, List<AtsCapabilityInfo>> capabilitiesByConcreteImpl)
688foreach (var capability in ordered)
716AtsCapabilityInfo capability,
750private GoApiMember ProjectListDictGetter(string interfaceName, AtsCapabilityInfo capability, string owner)
764AtsCapabilityInfo capability,
824private static List<AtsParameterInfo> GetNonTargetParameters(AtsCapabilityInfo capability)
1020private static string GetCapabilityOwningAssemblyName(AtsContext context, AtsCapabilityInfo capability)
1057foreach (var capability in context.Capabilities)
AtsGoCodeGenerator.cs (45)
202foreach (var capability in context.Capabilities)
280var optionsNameFirstCapability = new Dictionary<string, AtsCapabilityInfo>(StringComparer.Ordinal);
281foreach (var capability in context.Capabilities)
318if (optionsNameFirstCapability.TryGetValue(simpleName, out var firstCap)
519private static Dictionary<string, List<AtsCapabilityInfo>> GroupCapabilitiesByDirectTarget(
520IReadOnlyList<AtsCapabilityInfo> capabilities)
522var result = new Dictionary<string, List<AtsCapabilityInfo>>(StringComparer.Ordinal);
523foreach (var capability in capabilities)
531list = new List<AtsCapabilityInfo>();
544private Dictionary<string, List<AtsCapabilityInfo>> GroupCapabilitiesByConcreteImpl(
545IReadOnlyList<AtsCapabilityInfo> capabilities)
547var result = new Dictionary<string, List<AtsCapabilityInfo>>(StringComparer.Ordinal);
549foreach (var capability in capabilities)
576list = new List<AtsCapabilityInfo>();
671private GoDocContent CreateCapabilityDoc(AtsCapabilityInfo capability)
1094private void GenerateMarkerInterfaces(Dictionary<string, List<AtsCapabilityInfo>> capabilitiesByDirectTarget)
1181private void GenerateConcreteHandleTypes(Dictionary<string, List<AtsCapabilityInfo>> capabilitiesByConcreteImpl)
1202: new List<AtsCapabilityInfo>();
1211foreach (var capability in capabilities)
1224CollectListDictGetters(IReadOnlyList<AtsCapabilityInfo> capabilities)
1227foreach (var capability in capabilities)
1260IReadOnlyList<AtsCapabilityInfo> capabilities,
1288foreach (var capability in capabilities)
1455private string RenderMethodSignature(string currentTypeId, string interfaceName, AtsCapabilityInfo capability)
1509AtsCapabilityInfo capability)
1594private string RenderReturnSignature(string currentTypeId, string interfaceName, AtsCapabilityInfo capability)
1620private static bool IsSameType(string? typeId, AtsCapabilityInfo capability, string? currentTypeId = null)
1647AtsCapabilityInfo capability,
1694AtsCapabilityInfo capability,
1767AtsCapabilityInfo capability,
1792AtsCapabilityInfo capability,
1813private void EmitHandleParamErrorChecks(string indent, AtsCapabilityInfo capability, string errorAction)
1830AtsCapabilityInfo capability,
2061AtsCapabilityInfo capability)
2090private void GenerateOptionsStructs(IReadOnlyList<AtsCapabilityInfo> capabilities)
2096foreach (var capability in capabilities)
2200private string GetOptionsTypeName(AtsCapabilityInfo capability)
2207private string GetOptionsQualifiedName(AtsCapabilityInfo capability, string simpleName)
2223private bool AreOptionsCompatible(AtsCapabilityInfo a, AtsCapabilityInfo b)
2272private static List<AtsParameterInfo> GetUnionParameters(AtsCapabilityInfo capability)
2301AtsCapabilityInfo capability,
2321private void EmitUnionAllowedTypesDoc(AtsCapabilityInfo capability)
2331private List<string> GetUnionNotes(AtsCapabilityInfo capability)
2381AtsCapabilityInfo capability,
Aspire.Hosting.CodeGeneration.Go.Tests (17)
Aspire.Hosting.CodeGeneration.Java (18)
AtsJavaCodeGenerator.cs (18)
945private void CollectOptionsClasses(IReadOnlyList<AtsCapabilityInfo> capabilities)
947foreach (var capability in capabilities)
1107private string? ResolveOptionsClassName(AtsCapabilityInfo capability) =>
1253Dictionary<string, List<AtsCapabilityInfo>> capabilitiesByTarget)
1276foreach (var method in methods)
1362private void GenerateCapabilityMethod(JavaHandleType handleType, AtsCapabilityInfo capability)
1727AtsCapabilityInfo capability,
1800private void GenerateCapabilityMethodImplementation(AtsCapabilityInfo capability, JavaCapabilityReturnInfo returnInfo, string methodName, string targetParamName, List<AtsParameterInfo> parameters, bool isPublic)
1882private JavaCapabilityReturnInfo GetMethodReturnInfo(JavaHandleType handleType, AtsCapabilityInfo capability)
2254private void GenerateListOrDictProperty(AtsCapabilityInfo capability, string methodName)
2426foreach (var capability in context.Capabilities)
2501private static Dictionary<string, List<AtsCapabilityInfo>> GroupCapabilitiesByTarget(
2502IReadOnlyList<AtsCapabilityInfo> capabilities)
2504var result = new Dictionary<string, List<AtsCapabilityInfo>>(StringComparer.Ordinal);
2506foreach (var capability in capabilities)
2528list = new List<AtsCapabilityInfo>();
2538private static Dictionary<string, bool> CollectListAndDictTypeIds(IReadOnlyList<AtsCapabilityInfo> capabilities)
2542foreach (var capability in capabilities)
Aspire.Hosting.CodeGeneration.Java.Tests (22)
Aspire.Hosting.CodeGeneration.Python (46)
AtsPythonCodeGenerator.cs (46)
22public required List<AtsCapabilityInfo> Capabilities { get; init; }
318/// Merges capabilities that share the same <see cref="AtsCapabilityInfo.SourceLocation"/> and differ
322private List<AtsCapabilityInfo> MergeCapabilitiesBySourceLocation(List<AtsCapabilityInfo> capabilities)
324var result = new List<AtsCapabilityInfo>();
340foreach (var item in items.Skip(1))
362var capWithExtra = items.First(c => c.Parameters.Any(p => string.Equals(p.Name, extraParamName, StringComparison.Ordinal)));
379var shortest = items.OrderBy(c => c.MethodName.Length).ThenBy(c => c.MethodName, StringComparer.Ordinal).First();
382var fullCap = items.OrderByDescending(c => c.Parameters.Count).First();
410var capWithoutExtra = items.FirstOrDefault(c => !c.Parameters.Any(p => string.Equals(p.Name, extraParamName, StringComparison.Ordinal)));
414var merged = new AtsCapabilityInfo
691private static string? GetReturnTypeId(AtsCapabilityInfo capability) => capability.ReturnType?.TypeId;
802foreach (var cap in capabilities)
1166foreach (var method in allMethods)
1214private static List<(string PropertyName, AtsCapabilityInfo? Getter, AtsCapabilityInfo? Setter)> GroupPropertiesByName(
1215List<AtsCapabilityInfo> getters, List<AtsCapabilityInfo> setters)
1217var result = new List<(string PropertyName, AtsCapabilityInfo? Getter, AtsCapabilityInfo? Setter)>();
1221foreach (var getter in getters)
1232var setter = setters.FirstOrDefault(s => ExtractPropertyName(s.MethodName).Equals(setterName, StringComparison.OrdinalIgnoreCase));
1238foreach (var setter in setters)
1272private void GeneratePropertyMethods(System.Text.StringBuilder sb, string propertyName, AtsCapabilityInfo? getter, AtsCapabilityInfo? setter, bool isInterface = false)
1360AtsCapabilityInfo capability,
1518foreach (var capability in methods)
1652foreach (var capability in methods)
1672private void GenerateBuilderMethod(System.Text.StringBuilder sb, AtsCapabilityInfo capability, bool isInterface,
1818private void GenerateEntryPointFunctions(System.Text.StringBuilder sb, List<AtsCapabilityInfo> entryPoints)
1825foreach (var capability in entryPoints)
1831private void GenerateEntryPointFunction(System.Text.StringBuilder sb, AtsCapabilityInfo capability)
1919private List<BuilderModel> CreateBuilderModels(IReadOnlyList<AtsCapabilityInfo> capabilities)
1922var capabilitiesByTypeId = new Dictionary<string, List<AtsCapabilityInfo>>();
1928var interfaceCapabilities = new Dictionary<string, List<AtsCapabilityInfo>>();
1930foreach (var cap in capabilities)
2058var applicableCapabilities = new List<AtsCapabilityInfo>();
2178private Dictionary<string, AtsTypeRef> CollectAllReferencedTypes(IReadOnlyList<AtsCapabilityInfo> capabilities)
2222foreach (var cap in capabilities)
2250private static List<AtsCapabilityInfo> GetEntryPointCapabilities(IReadOnlyList<AtsCapabilityInfo> capabilities)
2460AtsCapabilityInfo capability,
2530private string AddParameterMapping(AtsCapabilityInfo capability, List<AtsParameterInfo> requiredParameters, List<AtsParameterInfo> optionalParameters)
2555private string ResolveParameterMappingName(AtsCapabilityInfo capability, List<AtsParameterInfo> requiredParameters, List<AtsParameterInfo> optionalParameters)
2606private static string GetNamespaceQualifiedParameterMappingName(AtsCapabilityInfo capability)
2692AtsCapabilityInfo capability,
Aspire.Hosting.CodeGeneration.Python.Tests (12)
Aspire.Hosting.CodeGeneration.Rust (12)
Aspire.Hosting.CodeGeneration.Rust.Tests (12)
Aspire.Hosting.CodeGeneration.TypeScript (81)
AtsTypeScriptCodeGenerator.cs (38)
20public required List<AtsCapabilityInfo> Capabilities { get; init; }
115AtsCapabilityInfo capability,
143private void WritePropertyDocComment(string indent, AtsCapabilityInfo? getter, AtsCapabilityInfo? setter)
145var capability = getter is not null &&
431private static string? GetReturnTypeId(AtsCapabilityInfo capability) => capability.ReturnType?.TypeId;
776private void GenerateGetterOnlyPropertyPromiseSignature(string propertyName, AtsCapabilityInfo getter)
783private void GenerateInterfaceProperty(string propertyName, AtsCapabilityInfo? getter, AtsCapabilityInfo? setter)
863foreach (var capability in builder.Capabilities.Where(c =>
919foreach (var capability in capabilities)
947private void GenerateTypeClassInterfaceMethod(BuilderModel model, string className, AtsCapabilityInfo capability)
997foreach (var method in standardMethods)
1016foreach (var method in standardMethods)
1063foreach (var capability in builder.Capabilities.Where(c =>
1106private void GenerateBuilderMethod(BuilderModel builder, AtsCapabilityInfo capability)
1615foreach (var capability in capabilities)
1684private void GenerateAspireClient(List<AtsCapabilityInfo> entryPoints)
1696foreach (var capability in entryPoints)
1722private void GenerateEntryPointFunction(AtsCapabilityInfo capability)
2191foreach (var method in allMethods)
2199foreach (var method in contextMethods)
2203foreach (var method in otherMethods)
2242private void GeneratePropertyLikeObject(string propertyName, AtsCapabilityInfo? getter, AtsCapabilityInfo? setter)
2326private void GenerateGetterOnlyPropertyMethod(string propertyName, AtsCapabilityInfo getter)
2386private void GenerateWrapperGetterOnlyPropertyMethod(string propertyName, AtsCapabilityInfo getter, string wrapperClassName)
2440private void GenerateWrapperPropertyObject(string propertyName, AtsCapabilityInfo getter, AtsCapabilityInfo? setter, string wrapperClassName)
2493private void GenerateDictionaryProperty(string propertyName, AtsCapabilityInfo getter)
2529private void GenerateMutableDictionaryProperty(string propertyName, AtsCapabilityInfo getter)
2565private void GenerateListProperty(string propertyName, AtsCapabilityInfo getter)
2594private void GenerateMutableListProperty(string propertyName, AtsCapabilityInfo getter)
2637private void GenerateContextMethod(AtsCapabilityInfo method)
2753private void GenerateWrapperMethod(AtsCapabilityInfo capability)
2864private void GenerateTypeClassMethod(BuilderModel model, AtsCapabilityInfo capability)
3097private void GenerateTypeClassThenableWrapper(BuilderModel model, List<AtsCapabilityInfo> methods)
3122foreach (var capability in methods)
TypeScriptApiProjector.cs (39)
275foreach (var cap in builders
308internal TypeScriptApiMethodSignature ResolveMethodSignature(BuilderModel? builder, AtsCapabilityInfo capability)
380private static string ResolveTypeClassMethodName(AtsCapabilityInfo capability)
390private string ResolveBuilderReturnType(BuilderModel? builder, AtsCapabilityInfo capability)
417private string ResolveTypeClassReturnType(BuilderModel builder, AtsCapabilityInfo capability)
485foreach (var entryPoint in _resolved.ClientMethods.OrderBy(c => c.MethodName, StringComparer.Ordinal))
1005foreach (var capability in methods)
1151AtsCapabilityInfo capability)
1175AtsCapabilityInfo? getter,
1176AtsCapabilityInfo? setter)
1232private (TypeScriptApiItem Item, TypeScriptApiDeclaration Declaration) ProjectEntryPoint(AtsCapabilityInfo capability)
1278internal TypeScriptApiMethodSignature ResolveEntryPointSignature(AtsCapabilityInfo capability)
1309private string ResolveEntryPointReturnType(AtsCapabilityInfo capability)
1535private string GetCapabilityOwningAssemblyName(AtsCapabilityInfo capability)
1538/// <inheritdoc cref="GetCapabilityOwningAssemblyName(AtsCapabilityInfo)"/>
1543private static string GetCapabilityOwningAssemblyName(AtsContext context, AtsCapabilityInfo capability)
1560/// reason as <see cref="GetCapabilityOwningAssemblyName(AtsCapabilityInfo)"/>.
2091internal string ResolveOptionsInterfaceName(AtsCapabilityInfo capability)
2459internal static bool IsGetterOnlyProperty(AtsCapabilityInfo? getter, AtsCapabilityInfo? setter) => getter is not null && setter is null;
2509internal string GetBuilderPromiseInterfaceForMethod(BuilderModel builder, AtsCapabilityInfo capability)
2563internal static List<(string PropertyName, AtsCapabilityInfo? Getter, AtsCapabilityInfo? Setter)> GroupPropertiesByName(
2564List<AtsCapabilityInfo> getters, List<AtsCapabilityInfo> setters)
2566var result = new List<(string PropertyName, AtsCapabilityInfo? Getter, AtsCapabilityInfo? Setter)>();
2570foreach (var getter in getters)
2581var setter = setters.FirstOrDefault(s => ExtractPropertyName(s.MethodName).Equals(setterName, StringComparison.OrdinalIgnoreCase));
2587foreach (var setter in setters)
2643internal static List<BuilderModel> CreateBuilderModels(IReadOnlyList<AtsCapabilityInfo> capabilities)
2648var capabilitiesByTypeId = new Dictionary<string, List<AtsCapabilityInfo>>();
2654var interfaceCapabilities = new Dictionary<string, List<AtsCapabilityInfo>>();
2656foreach (var cap in capabilities)
2856private static void SortOptionsInterfaceCollisionsByCapabilityIdentity(List<AtsCapabilityInfo> capabilities)
2931internal static Dictionary<string, AtsTypeRef> CollectAllReferencedTypes(IReadOnlyList<AtsCapabilityInfo> capabilities)
2960foreach (var cap in capabilities)
2992internal static List<AtsCapabilityInfo> GetEntryPointCapabilities(IReadOnlyList<AtsCapabilityInfo> capabilities)
Aspire.Hosting.CodeGeneration.TypeScript.Tests (91)
AtsTypeScriptCodeGeneratorTests.cs (91)
154var addTestRedis = capabilities.First(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis");
157var withPersistence = capabilities.First(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/withPersistence");
170var addTestRedis = capabilities.First(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis");
182var addTestRedis = context.Capabilities.First(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis");
229var capability = CreateDistributedApplicationBuilderCapability(
247var capability = CreateDistributedApplicationBuilderCapability(
350var capability = CreateDistributedApplicationBuilderCapability(
372var capability = CreateDistributedApplicationBuilderCapability(
418var nameGetterCapability = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests.TestTypes/TestCallbackContext.name");
428var nameSetterCapability = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests.TestTypes/TestCallbackContext.setName");
436var valueGetterCapability = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests.TestTypes/TestCallbackContext.value");
443var valueSetterCapability = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests.TestTypes/TestCallbackContext.setValue");
498var withOptionalString = capabilities
515var withOptionalString = capabilities
556var addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis");
572var addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis");
578var withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/withPersistence");
584var withRedisSpecific = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/withRedisSpecific");
620var withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/withPersistence");
632var withOptionalString = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/withOptionalString");
644var addContainer = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/addContainer");
655var setValue = Assert.Single(capabilities, c => c.CapabilityId == "Aspire.Hosting.ApplicationModel/ParameterResource.setValueAsync");
672var tryGetCurrentValue = Assert.Single(capabilities, c => c.CapabilityId == "Aspire.Hosting.ApplicationModel/ParameterResource.tryGetCurrentValue");
698var capability = Assert.Single(ScanCapabilitiesFromTestAssembly(), c => c.MethodName == methodName);
709var withBrowserLogs = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.Browsers/withBrowserLogs");
767foreach (var cap in directContainerCapabilities)
797var withBindMount = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/withBindMount");
807var withEnvironment = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/withEnvironment");
824var withConnectionStringDirect = capabilities
852var withRedisSpecific = capabilities
880var withBindMount = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/withBindMount");
905var withDependency = capabilities
961var capability = CreateVoidEntryPointCapability(
1082var withRedisSpecific = capabilities
1105var withConnectionStringDirect = capabilities
1139var testWithEnvironmentCallback = capabilities
1169var withReference = capabilities
1176var addContainer = capabilities
1182var withEnvironment = capabilities
1193var withReference = Assert.Single(capabilities, c => c.CapabilityId == "Aspire.Hosting/withReference");
1208var withVolume = capabilities
1225var withProjectVolume = Assert.Single(
1241var withExecutableVolume = Assert.Single(
1252var withBindMount = capabilities
1259var withCommand = capabilities
1277var addNodePool = Assert.Single(scanResult.Capabilities, c => c.CapabilityId == $"{packageName}/addNodePool");
1278var withSystemNodePool = Assert.Single(scanResult.Capabilities, c => c.CapabilityId == $"{packageName}/withSystemNodePool");
1335var capability = Assert.Single(
1346var withoutStorageClassCapability = Assert.Single(
1365var capability = Assert.Single(scanResult.Capabilities,
1389var propertySetter = Assert.Single(scanResult.Capabilities,
1598var addTestRedis = scannedContext.Capabilities
1726private static AtsCapabilityInfo CreateSameNameResourceCapability<TResource>(
1728AtsCapabilityInfo distributedApplicationBuilderCapability)
1898var publishAsWebsite = Assert.Single(capabilities, c => c.CapabilityId == "Aspire.Hosting.Azure.AppService/publishAsAzureAppServiceWebsite");
1902var publishAsContainerAppJob = Assert.Single(capabilities, c => c.CapabilityId == "Aspire.Hosting.Azure.AppContainers/publishAsAzureContainerAppJob");
1916var capability = Assert.Single(result.Capabilities, c => c.CapabilityId == "Aspire.Hosting.Azure.AppContainers/asExpress");
1961private static List<AtsCapabilityInfo> ScanCapabilitiesFromTestAssembly()
1979private static AtsContext WithAdditionalCapabilities(AtsContext context, params AtsCapabilityInfo[] capabilities)
2000private static AtsCapabilityInfo CreateVoidEntryPointCapability(string methodName, params AtsParameterInfo[] parameters) =>
2014private static AtsCapabilityInfo CreateDistributedApplicationBuilderCapability(
2021var addTestRedis = context.Capabilities.First(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis");
2050private static List<AtsCapabilityInfo> ScanCapabilitiesFromHostingAssembly()
2057private static List<AtsCapabilityInfo> ScanCapabilitiesFromBrowsersAssembly()
2071private static List<AtsCapabilityInfo> ScanCapabilitiesFromBothAssemblies()
2089private static List<AtsCapabilityInfo> ScanCapabilitiesFromAzureAssemblies()
2106private static void AssertCallbackParameterTypes(AtsCapabilityInfo capability, string parameterName, params Type[] expectedTypes)
2115private static void AssertTargetedMethod(IReadOnlyList<AtsCapabilityInfo> capabilities, string capabilityId, string methodName, Type targetType, Type parameterType)
2117var capability = Assert.Single(capabilities, c => c.CapabilityId == capabilityId);
2125private static void AssertAzureExistingResourceScopeCapability(IReadOnlyList<AtsCapabilityInfo> capabilities, string methodName, string[] parameterNames)
2127var capability = Assert.Single(capabilities, c => c.CapabilityId == $"Aspire.Hosting.Azure/{methodName}");
2185var capability = capabilities.FirstOrDefault(c => c.CapabilityId == expectedId);
2205var capability = capabilities.FirstOrDefault(c => c.CapabilityId == expectedId);
2253var dictSet = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/Dict.set");
2305var getValueAsync = capabilities.First(c =>
2316var getValueAsync = capabilities.FirstOrDefault(c =>
2330var addTestRedis = capabilities.First(c =>
2401var getStatusAsync = capabilities
2432var withCancellableOperation = capabilities
2454var waitForReadyAsync = capabilities
2479var capability = Assert.Single(context.Capabilities, capability => capability.CapabilityId == "Aspire.Hosting/addProject");
2503var addDotnetProject = Assert.Single(context.Capabilities, capability => capability.CapabilityId == "Aspire.Hosting.Dotnet/addDotnetProject");
2517var addCSharpApp = Assert.Single(context.Capabilities, capability => capability.CapabilityId == "Aspire.Hosting/addCSharpApp");
2656var addTestRedis = capabilities
2753var collisionCapability = CreateVoidEntryPointCapability(
2823var withNpm = result.Capabilities
2854var capability = result.Capabilities
3216var eventHubsCapability = CreateRunAsEmulatorCapability(
3224var serviceBusCapability = CreateRunAsEmulatorCapability(
3415private static AtsContext CreateApiContext(params AtsCapabilityInfo[] capabilities)
3426private static AtsCapabilityInfo CreateRunAsEmulatorCapability(
Aspire.Hosting.Native.CodeGeneration (35)
src\Aspire.Hosting.RemoteHost\AtsCapabilityScanner.cs (22)
30public required List<AtsCapabilityInfo> Capabilities { get; init; }
141var allCapabilities = new List<AtsCapabilityInfo>();
149var seenCapabilities = new Dictionary<string, AtsCapabilityInfo>(); // Track capability ID -> first capability for duplicate detection
160foreach (var capability in result.Capabilities)
162if (seenCapabilities.TryGetValue(capability.CapabilityId, out var existingCapability))
373var capabilities = new List<AtsCapabilityInfo>();
512var capability = CreateCapabilityInfo(method, exportAttr, assemblyName, assemblyExportedTypeCache, out var capabilityDiagnostic);
600List<AtsCapabilityInfo> capabilities,
610foreach (var capability in capabilities)
708List<AtsCapabilityInfo> capabilities,
712foreach (var capability in capabilities)
793List<AtsCapabilityInfo> capabilities,
901List<AtsCapabilityInfo> capabilities,
909foreach (var capability in capabilities)
1009private static void FilterMethodNameCollisions(List<AtsCapabilityInfo> capabilities, List<AtsDiagnostic> diagnostics)
1044var exactTargetCapability = exactTargetCapabilities[0];
1045foreach (var collidingCapability in collidingCapabilities)
1080foreach (var capability in capabilities)
1098public static List<AtsCapabilityInfo> ScanCapabilities(
1591public required List<AtsCapabilityInfo> Capabilities { get; init; }
1615var capabilities = new List<AtsCapabilityInfo>();
2052private static AtsCapabilityInfo? CreateCapabilityInfo(
Aspire.Hosting.Native.Core.Tests (1)
Aspire.Hosting.RemoteHost (48)
Ats\CapabilityDispatcher.cs (11)
52public AtsCapabilityInfo? Capability { get; init; }
145foreach (var capability in result.Capabilities)
177private void RegisterContextTypeProperty(AtsCapabilityInfo capability, PropertyInfo property)
304private void RegisterContextTypeMethod(AtsCapabilityInfo capability, MethodInfo method)
417private void RegisterFromCapability(AtsCapabilityInfo capability, MethodInfo method)
777AtsCapabilityInfo capability,
821AtsCapabilityInfo capability,
894private static IReadOnlyList<Type>? GetUnionMemberClrTypes(ParameterInfo parameter, AtsCapabilityInfo capability)
904private static IReadOnlyList<Type>? GetUnionMemberClrTypes(PropertyInfo property, AtsCapabilityInfo capability, string parameterName)
936private static IReadOnlyList<Type>? TryGetUnionMemberClrTypes(AtsCapabilityInfo capability, string parameterName)
991AtsCapabilityInfo capability,
AtsCapabilityScanner.cs (22)
30public required List<AtsCapabilityInfo> Capabilities { get; init; }
141var allCapabilities = new List<AtsCapabilityInfo>();
149var seenCapabilities = new Dictionary<string, AtsCapabilityInfo>(); // Track capability ID -> first capability for duplicate detection
160foreach (var capability in result.Capabilities)
162if (seenCapabilities.TryGetValue(capability.CapabilityId, out var existingCapability))
373var capabilities = new List<AtsCapabilityInfo>();
512var capability = CreateCapabilityInfo(method, exportAttr, assemblyName, assemblyExportedTypeCache, out var capabilityDiagnostic);
600List<AtsCapabilityInfo> capabilities,
610foreach (var capability in capabilities)
708List<AtsCapabilityInfo> capabilities,
712foreach (var capability in capabilities)
793List<AtsCapabilityInfo> capabilities,
901List<AtsCapabilityInfo> capabilities,
909foreach (var capability in capabilities)
1009private static void FilterMethodNameCollisions(List<AtsCapabilityInfo> capabilities, List<AtsDiagnostic> diagnostics)
1044var exactTargetCapability = exactTargetCapabilities[0];
1045foreach (var collidingCapability in collidingCapabilities)
1080foreach (var capability in capabilities)
1098public static List<AtsCapabilityInfo> ScanCapabilities(
1591public required List<AtsCapabilityInfo> Capabilities { get; init; }
1615var capabilities = new List<AtsCapabilityInfo>();
2052private static AtsCapabilityInfo? CreateCapabilityInfo(
Aspire.Hosting.RemoteHost.Tests (33)
AtsCapabilityScannerTests.cs (18)
156var enumerableParameterCapability = Assert.Single(result.Capabilities,
163var enumerableReturnCapability = Assert.Single(result.Capabilities,
188var capability = Assert.Single(result.Capabilities,
327var capability = Assert.Single(result.Capabilities,
402var capability = Assert.Single(result.Capabilities, capability => capability.OwningTypeName == typeName && capability.MethodName == methodName);
414var capability = Assert.Single(result.Capabilities,
468var baseNameCapability = Assert.Single(result.Capabilities,
488var nameGetter = Assert.Single(result.Capabilities,
493var descriptionGetter = Assert.Single(result.Capabilities,
499var mutableSetter = Assert.Single(result.Capabilities,
620var genericCapability = Assert.Single(result.Capabilities,
622var specificCapability = Assert.Single(result.Capabilities,
651var capability = result.Capabilities
678var capability = Assert.Single(result.Capabilities,
697var capability = Assert.Single(result.Capabilities,
716var capability = Assert.Single(result.Capabilities,
743var capability = Assert.Single(result.Capabilities, c => c.CapabilityId == expectedCapabilityId);
871var capability = Assert.Single(result.Capabilities,
Aspire.TypeSystem (1)