4 instantiations of AtsCapabilityInfo
Aspire.Hosting (4)
Ats\AtsCapabilityScanner.cs (4)
1143capabilities.Add(new AtsCapabilityInfo 1181capabilities.Add(new AtsCapabilityInfo 1353capabilities.Add(new AtsCapabilityInfo 1478return new AtsCapabilityInfo
218 references to AtsCapabilityInfo
Aspire.Hosting (20)
Ats\AtsCapabilityScanner.cs (19)
23public required List<AtsCapabilityInfo> Capabilities { get; init; } 114var allCapabilities = new List<AtsCapabilityInfo>(); 121var seenCapabilities = new Dictionary<string, AtsCapabilityInfo>(); // Track capability ID -> first capability for duplicate detection 132foreach (var capability in result.Capabilities) 134if (seenCapabilities.TryGetValue(capability.CapabilityId, out var existingCapability)) 251var capabilities = new List<AtsCapabilityInfo>(); 387var capability = CreateCapabilityInfo(method, exportAttr, assemblyName, out var capabilityDiagnostic); 474List<AtsCapabilityInfo> capabilities, 484foreach (var capability in capabilities) 554List<AtsCapabilityInfo> capabilities, 557foreach (var capability in capabilities) 617List<AtsCapabilityInfo> capabilities, 725List<AtsCapabilityInfo> capabilities, 733foreach (var capability in capabilities) 831private static void FilterMethodNameCollisions(List<AtsCapabilityInfo> capabilities, List<AtsDiagnostic> diagnostics) 896public static List<AtsCapabilityInfo> ScanCapabilities( 991public required List<AtsCapabilityInfo> Capabilities { get; init; } 1009var capabilities = new List<AtsCapabilityInfo>(); 1389private static AtsCapabilityInfo? CreateCapabilityInfo(
Ats\AtsContext.cs (1)
53public required IReadOnlyList<AtsCapabilityInfo> Capabilities { get; init; }
Aspire.Hosting.CodeGeneration.Go (13)
AtsGoCodeGenerator.cs (13)
200Dictionary<string, List<AtsCapabilityInfo>> capabilitiesByTarget) 220foreach (var method in methods) 272foreach (var method in allMethods) 280private void GenerateCapabilityMethod(string structName, AtsCapabilityInfo capability) 410private void GenerateListOrDictProperty(string structName, AtsCapabilityInfo capability, string methodName) 546foreach (var capability in context.Capabilities) 591private static Dictionary<string, List<AtsCapabilityInfo>> GroupCapabilitiesByTarget( 592IReadOnlyList<AtsCapabilityInfo> capabilities) 594var result = new Dictionary<string, List<AtsCapabilityInfo>>(StringComparer.Ordinal); 596foreach (var capability in capabilities) 618list = new List<AtsCapabilityInfo>(); 628private static Dictionary<string, bool> CollectListAndDictTypeIds(IReadOnlyList<AtsCapabilityInfo> capabilities) 632foreach (var capability in capabilities)
Aspire.Hosting.CodeGeneration.Go.Tests (12)
AtsGoCodeGeneratorTests.cs (12)
65var addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 68var withPersistence = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence"); 79var addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 94var addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 100var withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence"); 112var addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 124var withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence"); 136var withOptionalString = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withOptionalString"); 148var addContainer = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/addContainer"); 262private static List<AtsCapabilityInfo> ScanCapabilitiesFromTestAssembly() 286private static List<AtsCapabilityInfo> ScanCapabilitiesFromHostingAssembly() 293private static List<AtsCapabilityInfo> ScanCapabilitiesFromBothAssemblies()
Aspire.Hosting.CodeGeneration.Java (12)
AtsJavaCodeGenerator.cs (12)
225Dictionary<string, List<AtsCapabilityInfo>> capabilitiesByTarget) 249foreach (var method in methods) 260private void GenerateCapabilityMethod(AtsCapabilityInfo capability) 359private void GenerateListOrDictProperty(AtsCapabilityInfo capability, string methodName) 513foreach (var capability in context.Capabilities) 558private static Dictionary<string, List<AtsCapabilityInfo>> GroupCapabilitiesByTarget( 559IReadOnlyList<AtsCapabilityInfo> capabilities) 561var result = new Dictionary<string, List<AtsCapabilityInfo>>(StringComparer.Ordinal); 563foreach (var capability in capabilities) 585list = new List<AtsCapabilityInfo>(); 595private static Dictionary<string, bool> CollectListAndDictTypeIds(IReadOnlyList<AtsCapabilityInfo> capabilities) 599foreach (var capability in capabilities)
Aspire.Hosting.CodeGeneration.Java.Tests (12)
AtsJavaCodeGeneratorTests.cs (12)
64var addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 67var withPersistence = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence"); 78var addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 93var addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 99var withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence"); 111var addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 123var withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence"); 135var withOptionalString = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withOptionalString"); 147var addContainer = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/addContainer"); 261private static List<AtsCapabilityInfo> ScanCapabilitiesFromTestAssembly() 285private static List<AtsCapabilityInfo> ScanCapabilitiesFromHostingAssembly() 292private static List<AtsCapabilityInfo> ScanCapabilitiesFromBothAssemblies()
Aspire.Hosting.CodeGeneration.Python (12)
AtsPythonCodeGenerator.cs (12)
192Dictionary<string, List<AtsCapabilityInfo>> capabilitiesByTarget) 214foreach (var method in methods) 228private void GenerateCapabilityMethod(AtsCapabilityInfo capability) 312private void GenerateListOrDictProperty(AtsCapabilityInfo capability, string methodName) 420foreach (var capability in context.Capabilities) 463private static Dictionary<string, List<AtsCapabilityInfo>> GroupCapabilitiesByTarget( 464IReadOnlyList<AtsCapabilityInfo> capabilities) 466var result = new Dictionary<string, List<AtsCapabilityInfo>>(StringComparer.Ordinal); 468foreach (var capability in capabilities) 490list = new List<AtsCapabilityInfo>(); 500private static Dictionary<string, bool> CollectListAndDictTypeIds(IReadOnlyList<AtsCapabilityInfo> capabilities) 504foreach (var capability in capabilities)
Aspire.Hosting.CodeGeneration.Python.Tests (12)
AtsPythonCodeGeneratorTests.cs (12)
65var addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 68var withPersistence = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence"); 79var addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 94var addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 100var withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence"); 112var addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 124var withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence"); 136var withOptionalString = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withOptionalString"); 148var addContainer = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/addContainer"); 266private static List<AtsCapabilityInfo> ScanCapabilitiesFromTestAssembly() 290private static List<AtsCapabilityInfo> ScanCapabilitiesFromHostingAssembly() 297private static List<AtsCapabilityInfo> ScanCapabilitiesFromBothAssemblies()
Aspire.Hosting.CodeGeneration.Rust (12)
AtsRustCodeGenerator.cs (12)
250Dictionary<string, List<AtsCapabilityInfo>> capabilitiesByTarget) 295foreach (var method in methods) 306private void GenerateCapabilityMethod(string structName, AtsCapabilityInfo capability) 508private void GenerateListOrDictProperty(string structName, AtsCapabilityInfo capability, string methodName) 621foreach (var capability in context.Capabilities) 666private static Dictionary<string, List<AtsCapabilityInfo>> GroupCapabilitiesByTarget( 667IReadOnlyList<AtsCapabilityInfo> capabilities) 669var result = new Dictionary<string, List<AtsCapabilityInfo>>(StringComparer.Ordinal); 671foreach (var capability in capabilities) 693list = new List<AtsCapabilityInfo>(); 703private static HashSet<string> CollectListAndDictTypeIds(IReadOnlyList<AtsCapabilityInfo> capabilities) 706foreach (var capability in capabilities)
Aspire.Hosting.CodeGeneration.Rust.Tests (12)
AtsRustCodeGeneratorTests.cs (12)
65var addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 68var withPersistence = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence"); 79var addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 94var addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 100var withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence"); 112var addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis"); 124var withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence"); 136var withOptionalString = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withOptionalString"); 148var addContainer = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/addContainer"); 264private static List<AtsCapabilityInfo> ScanCapabilitiesFromTestAssembly() 288private static List<AtsCapabilityInfo> ScanCapabilitiesFromHostingAssembly() 295private static List<AtsCapabilityInfo> ScanCapabilitiesFromBothAssemblies()
Aspire.Hosting.CodeGeneration.TypeScript (41)
AtsTypeScriptCodeGenerator.cs (41)
18public required List<AtsCapabilityInfo> Capabilities { get; init; } 284private static string? GetReturnTypeId(AtsCapabilityInfo capability) => capability.ReturnType?.TypeId; 382foreach (var cap in capabilities) 471foreach (var cap in builder.Capabilities) 665private string ResolveOptionsInterfaceName(AtsCapabilityInfo capability) 909foreach (var capability in builder.Capabilities.Where(c => 923private void GenerateBuilderMethod(BuilderModel builder, AtsCapabilityInfo capability) 1165foreach (var capability in builder.Capabilities.Where(c => 1252private void GenerateAspireClient(List<AtsCapabilityInfo> entryPoints) 1264foreach (var capability in entryPoints) 1271private void GenerateEntryPointFunction(AtsCapabilityInfo capability) 1716foreach (var method in allMethods) 1724foreach (var method in contextMethods) 1728foreach (var method in otherMethods) 1747private static List<(string PropertyName, AtsCapabilityInfo? Getter, AtsCapabilityInfo? Setter)> GroupPropertiesByName( 1748List<AtsCapabilityInfo> getters, List<AtsCapabilityInfo> setters) 1750var result = new List<(string PropertyName, AtsCapabilityInfo? Getter, AtsCapabilityInfo? Setter)>(); 1754foreach (var getter in getters) 1765var setter = setters.FirstOrDefault(s => ExtractPropertyName(s.MethodName).Equals(setterName, StringComparison.OrdinalIgnoreCase)); 1771foreach (var setter in setters) 1806private void GeneratePropertyLikeObject(string propertyName, AtsCapabilityInfo? getter, AtsCapabilityInfo? setter) 1881private void GenerateWrapperPropertyObject(string propertyName, AtsCapabilityInfo getter, string wrapperClassName) 1921private void GenerateDictionaryProperty(string propertyName, AtsCapabilityInfo getter) 1966private void GenerateListProperty(string propertyName, AtsCapabilityInfo getter) 2004private void GenerateContextMethod(AtsCapabilityInfo method) 2085private void GenerateWrapperMethod(AtsCapabilityInfo capability) 2164private void GenerateTypeClassMethod(BuilderModel model, AtsCapabilityInfo capability) 2344private void GenerateTypeClassThenableWrapper(BuilderModel model, List<AtsCapabilityInfo> methods) 2366foreach (var capability in methods) 2464private static List<BuilderModel> CreateBuilderModels(IReadOnlyList<AtsCapabilityInfo> capabilities) 2469var capabilitiesByTypeId = new Dictionary<string, List<AtsCapabilityInfo>>(); 2475var interfaceCapabilities = new Dictionary<string, List<AtsCapabilityInfo>>(); 2477foreach (var cap in capabilities) 2658private static Dictionary<string, AtsTypeRef> CollectAllReferencedTypes(IReadOnlyList<AtsCapabilityInfo> capabilities) 2687foreach (var cap in capabilities) 2718private static List<AtsCapabilityInfo> GetEntryPointCapabilities(IReadOnlyList<AtsCapabilityInfo> capabilities)
Aspire.Hosting.CodeGeneration.TypeScript.Tests (47)
AtsTypeScriptCodeGeneratorTests.cs (47)
86var addTestRedis = capabilities.First(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis"); 89var withPersistence = capabilities.First(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/withPersistence"); 102var addTestRedis = capabilities.First(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis"); 138var nameGetterCapability = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests.TestTypes/TestCallbackContext.name"); 148var nameSetterCapability = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests.TestTypes/TestCallbackContext.setName"); 156var valueGetterCapability = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests.TestTypes/TestCallbackContext.value"); 163var valueSetterCapability = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests.TestTypes/TestCallbackContext.setValue"); 218var withOptionalString = capabilities 235var withOptionalString = capabilities 276var addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis"); 292var addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis"); 298var withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/withPersistence"); 304var withRedisSpecific = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/withRedisSpecific"); 341var withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/withPersistence"); 353var withOptionalString = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/withOptionalString"); 365var addContainer = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/addContainer"); 419foreach (var cap in directContainerCapabilities) 449var withBindMount = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/withBindMount"); 459var withEnvironment = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/withEnvironment"); 476var withConnectionStringDirect = capabilities 504var withRedisSpecific = capabilities 532var withBindMount = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/withBindMount"); 557var withDependency = capabilities 603var withRedisSpecific = capabilities 626var withConnectionStringDirect = capabilities 660var testWithEnvironmentCallback = capabilities 690var withReference = capabilities 697var addContainer = capabilities 703var withEnvironment = capabilities 717var withVolume = capabilities 728var withBindMount = capabilities 735var withCommand = capabilities 806private static List<AtsCapabilityInfo> ScanCapabilitiesFromTestAssembly() 830private static List<AtsCapabilityInfo> ScanCapabilitiesFromHostingAssembly() 837private static List<AtsCapabilityInfo> ScanCapabilitiesFromBothAssemblies() 888var capability = capabilities.FirstOrDefault(c => c.CapabilityId == expectedId); 908var capability = capabilities.FirstOrDefault(c => c.CapabilityId == expectedId); 921var dictSet = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/Dict.set"); 973var getValueAsync = capabilities.First(c => 984var getValueAsync = capabilities.FirstOrDefault(c => 998var addTestRedis = capabilities.First(c => 1058var getStatusAsync = capabilities 1087var withCancellableOperation = capabilities 1109var waitForReadyAsync = capabilities 1229var addTestRedis = capabilities 1361var withNpm = result.Capabilities 1392var capability = result.Capabilities
Aspire.Hosting.RemoteHost (5)
Ats\CapabilityDispatcher.cs (4)
115foreach (var capability in result.Capabilities) 147private void RegisterContextTypeProperty(AtsCapabilityInfo capability, PropertyInfo property) 246private void RegisterContextTypeMethod(AtsCapabilityInfo capability, MethodInfo method) 329private void RegisterFromCapability(AtsCapabilityInfo capability, MethodInfo method)
CodeGeneration\CodeGenerationService.cs (1)
62private static CapabilityResponse MapCapability(AtsCapabilityInfo c) => new()
Aspire.Hosting.Tests (8)
Ats\AtsCapabilityScannerTests.cs (5)
134var enumerableParameterCapability = Assert.Single(result.Capabilities, 141var enumerableReturnCapability = Assert.Single(result.Capabilities, 232var capability = result.Capabilities 256var capability = Assert.Single(result.Capabilities, 275var capability = Assert.Single(result.Capabilities,
Ats\AttributeDataReaderTests.cs (3)
150var compatibleCapability = result.Capabilities 165var officialCapability = result.Capabilities 167var thirdPartyCapability = result.Capabilities