36 instantiations of AtsCapabilityInfo
Aspire.Hosting.CodeGeneration.Java.Tests (6)
AtsJavaCodeGeneratorTests.cs (6)
2787
var callbackCapability = new
AtsCapabilityInfo
2819
var capability = new
AtsCapabilityInfo
2842
var capability = new
AtsCapabilityInfo
3058
var callbackCapability = new
AtsCapabilityInfo
3375
var capability = new
AtsCapabilityInfo
3699
return new
AtsCapabilityInfo
Aspire.Hosting.CodeGeneration.Python (1)
AtsPythonCodeGenerator.cs (1)
409
var merged = new
AtsCapabilityInfo
Aspire.Hosting.CodeGeneration.Python.Tests (6)
AtsPythonCodeGeneratorTests.cs (6)
507
new
AtsCapabilityInfo
563
new
AtsCapabilityInfo
639
new
AtsCapabilityInfo
723
new
AtsCapabilityInfo
827
new
AtsCapabilityInfo
849
new
AtsCapabilityInfo
Aspire.Hosting.CodeGeneration.TypeScript.Tests (12)
AtsTypeScriptCodeGeneratorTests.cs (12)
284
new
AtsCapabilityInfo
296
new
AtsCapabilityInfo
1580
return new
AtsCapabilityInfo
1842
new
()
1864
return new
AtsCapabilityInfo
2847
new
AtsCapabilityInfo
2859
new
AtsCapabilityInfo
2871
new
AtsCapabilityInfo
2883
new
AtsCapabilityInfo
3139
new
AtsCapabilityInfo
3254
return new
AtsCapabilityInfo
3303
new
AtsCapabilityInfo
Aspire.Hosting.RemoteHost (6)
Ats\ExternalCapabilityRegistry.cs (1)
763
return new
AtsCapabilityInfo
AtsCapabilityScanner.cs (4)
1756
capabilities.Add(new
AtsCapabilityInfo
1799
capabilities.Add(new
AtsCapabilityInfo
1980
capabilities.Add(new
AtsCapabilityInfo
2155
return new
AtsCapabilityInfo
AtsContextFilter.cs (1)
332
yield return new
AtsCapabilityInfo
Aspire.Hosting.RemoteHost.Tests (5)
AtsContextFilterTests.cs (3)
180
var supportingCapability = new
AtsCapabilityInfo
496
var selectedCapability = new
AtsCapabilityInfo
553
var unrelatedCapability = new
AtsCapabilityInfo
ExternalCapabilityRegistryTests.cs (2)
889
var managedCapability = new
AtsCapabilityInfo
915
var managedCapability = new
AtsCapabilityInfo
421 references to AtsCapabilityInfo
Aspire.Hosting.CodeGeneration.Go (42)
AtsGoCodeGenerator.cs (42)
166
foreach (
var
capability in context.Capabilities)
244
var optionsNameFirstCapability = new Dictionary<string,
AtsCapabilityInfo
>(StringComparer.Ordinal);
245
foreach (
var
capability in context.Capabilities)
282
if (optionsNameFirstCapability.TryGetValue(simpleName, out
var
firstCap)
387
private static Dictionary<string, List<
AtsCapabilityInfo
>> GroupCapabilitiesByDirectTarget(
388
IReadOnlyList<
AtsCapabilityInfo
> capabilities)
390
var result = new Dictionary<string, List<
AtsCapabilityInfo
>>(StringComparer.Ordinal);
391
foreach (
var
capability in capabilities)
399
list = new List<
AtsCapabilityInfo
>();
412
private Dictionary<string, List<
AtsCapabilityInfo
>> GroupCapabilitiesByConcreteImpl(
413
IReadOnlyList<
AtsCapabilityInfo
> capabilities)
415
var result = new Dictionary<string, List<
AtsCapabilityInfo
>>(StringComparer.Ordinal);
417
foreach (
var
capability in capabilities)
444
list = new List<
AtsCapabilityInfo
>();
782
private void GenerateMarkerInterfaces(Dictionary<string, List<
AtsCapabilityInfo
>> capabilitiesByDirectTarget)
816
private void GenerateConcreteHandleTypes(Dictionary<string, List<
AtsCapabilityInfo
>> capabilitiesByConcreteImpl)
837
: new List<
AtsCapabilityInfo
>();
845
foreach (
var
capability in capabilities)
858
CollectListDictGetters(IReadOnlyList<
AtsCapabilityInfo
> capabilities)
861
foreach (
var
capability in capabilities)
894
IReadOnlyList<
AtsCapabilityInfo
> capabilities,
904
foreach (
var
capability in capabilities)
1023
private string RenderMethodSignature(string currentTypeId, string interfaceName,
AtsCapabilityInfo
capability)
1077
AtsCapabilityInfo
capability)
1162
private string RenderReturnSignature(string currentTypeId, string interfaceName,
AtsCapabilityInfo
capability)
1188
private static bool IsSameType(string? typeId,
AtsCapabilityInfo
capability, string? currentTypeId = null)
1215
AtsCapabilityInfo
capability,
1270
AtsCapabilityInfo
capability,
1343
AtsCapabilityInfo
capability,
1368
AtsCapabilityInfo
capability,
1389
private void EmitHandleParamErrorChecks(string indent,
AtsCapabilityInfo
capability, string errorAction)
1406
AtsCapabilityInfo
capability,
1649
private void GenerateOptionsStructs(IReadOnlyList<
AtsCapabilityInfo
> capabilities)
1655
foreach (
var
capability in capabilities)
1753
private string GetOptionsTypeName(
AtsCapabilityInfo
capability)
1760
private string GetOptionsQualifiedName(
AtsCapabilityInfo
capability, string simpleName)
1776
private bool AreOptionsCompatible(
AtsCapabilityInfo
a,
AtsCapabilityInfo
b)
1825
private static List<AtsParameterInfo> GetUnionParameters(
AtsCapabilityInfo
capability)
1854
AtsCapabilityInfo
capability,
1874
private void EmitUnionAllowedTypesDoc(
AtsCapabilityInfo
capability)
1902
AtsCapabilityInfo
capability,
Aspire.Hosting.CodeGeneration.Go.Tests (12)
AtsGoCodeGeneratorTests.cs (12)
309
var
addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
312
var
withPersistence = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence");
323
var
addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
338
var
addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
344
var
withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence");
356
var
addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
368
var
withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence");
380
var
withOptionalString = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withOptionalString");
392
var
addContainer = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/addContainer");
677
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromTestAssembly()
701
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromHostingAssembly()
708
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromBothAssemblies()
Aspire.Hosting.CodeGeneration.Java (18)
AtsJavaCodeGenerator.cs (18)
944
private void CollectOptionsClasses(IReadOnlyList<
AtsCapabilityInfo
> capabilities)
946
foreach (
var
capability in capabilities)
1106
private string? ResolveOptionsClassName(
AtsCapabilityInfo
capability) =>
1252
Dictionary<string, List<
AtsCapabilityInfo
>> capabilitiesByTarget)
1275
foreach (
var
method in methods)
1361
private void GenerateCapabilityMethod(JavaHandleType handleType,
AtsCapabilityInfo
capability)
1726
AtsCapabilityInfo
capability,
1799
private void GenerateCapabilityMethodImplementation(
AtsCapabilityInfo
capability, JavaCapabilityReturnInfo returnInfo, string methodName, string targetParamName, List<AtsParameterInfo> parameters, bool isPublic)
1881
private JavaCapabilityReturnInfo GetMethodReturnInfo(JavaHandleType handleType,
AtsCapabilityInfo
capability)
2253
private void GenerateListOrDictProperty(
AtsCapabilityInfo
capability, string methodName)
2425
foreach (
var
capability in context.Capabilities)
2500
private static Dictionary<string, List<
AtsCapabilityInfo
>> GroupCapabilitiesByTarget(
2501
IReadOnlyList<
AtsCapabilityInfo
> capabilities)
2503
var result = new Dictionary<string, List<
AtsCapabilityInfo
>>(StringComparer.Ordinal);
2505
foreach (
var
capability in capabilities)
2527
list = new List<
AtsCapabilityInfo
>();
2537
private static Dictionary<string, bool> CollectListAndDictTypeIds(IReadOnlyList<
AtsCapabilityInfo
> capabilities)
2541
foreach (
var
capability in capabilities)
Aspire.Hosting.CodeGeneration.Java.Tests (21)
AtsJavaCodeGeneratorTests.cs (21)
167
var
addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
170
var
withPersistence = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence");
181
var
addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
196
var
addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
202
var
withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence");
214
var
addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
226
var
withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence");
238
var
withOptionalString = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withOptionalString");
250
var
addContainer = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/addContainer");
261
var
withReference = Assert.Single(capabilities, c => c.CapabilityId == "Aspire.Hosting/withReference");
264
var
waitFor = Assert.Single(capabilities, c => c.CapabilityId == "Aspire.Hosting/waitFor");
2600
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromTestAssembly()
2624
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromHostingAssembly()
2631
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromBothAssemblies()
2787
var
callbackCapability = new AtsCapabilityInfo
2819
var
capability = new AtsCapabilityInfo
2842
var
capability = new AtsCapabilityInfo
3058
var
callbackCapability = new AtsCapabilityInfo
3375
var
capability = new AtsCapabilityInfo
3686
private static AtsContext CreateContextWithProbeCapabilities(AtsTypeRef resourceType, params
AtsCapabilityInfo
[] capabilities)
3697
private static
AtsCapabilityInfo
CreateProbeCapability(AtsTypeRef resourceType, string methodName, AtsTypeRef returnType)
Aspire.Hosting.CodeGeneration.Python (46)
AtsPythonCodeGenerator.cs (46)
22
public required List<
AtsCapabilityInfo
> Capabilities { get; init; }
313
/// Merges capabilities that share the same <see cref="
AtsCapabilityInfo
.SourceLocation"/> and differ
317
private List<
AtsCapabilityInfo
> MergeCapabilitiesBySourceLocation(List<
AtsCapabilityInfo
> capabilities)
319
var result = new List<
AtsCapabilityInfo
>();
335
foreach (
var
item in items.Skip(1))
357
var
capWithExtra = items.First(c => c.Parameters.Any(p => string.Equals(p.Name, extraParamName, StringComparison.Ordinal)));
374
var
shortest = items.OrderBy(c => c.MethodName.Length).ThenBy(c => c.MethodName, StringComparer.Ordinal).First();
377
var
fullCap = items.OrderByDescending(c => c.Parameters.Count).First();
405
var
capWithoutExtra = items.FirstOrDefault(c => !c.Parameters.Any(p => string.Equals(p.Name, extraParamName, StringComparison.Ordinal)));
409
var
merged = new AtsCapabilityInfo
686
private static string? GetReturnTypeId(
AtsCapabilityInfo
capability) => capability.ReturnType?.TypeId;
797
foreach (
var
cap in capabilities)
1149
foreach (
var
method in allMethods)
1197
private static List<(string PropertyName,
AtsCapabilityInfo
? Getter,
AtsCapabilityInfo
? Setter)> GroupPropertiesByName(
1198
List<
AtsCapabilityInfo
> getters, List<
AtsCapabilityInfo
> setters)
1200
var result = new List<(string PropertyName,
AtsCapabilityInfo
? Getter,
AtsCapabilityInfo
? Setter)>();
1204
foreach (
var
getter in getters)
1215
var
setter = setters.FirstOrDefault(s => ExtractPropertyName(s.MethodName).Equals(setterName, StringComparison.OrdinalIgnoreCase));
1221
foreach (
var
setter in setters)
1255
private void GeneratePropertyMethods(System.Text.StringBuilder sb, string propertyName,
AtsCapabilityInfo
? getter,
AtsCapabilityInfo
? setter, bool isInterface = false)
1343
AtsCapabilityInfo
capability,
1501
foreach (
var
capability in methods)
1635
foreach (
var
capability in methods)
1655
private void GenerateBuilderMethod(System.Text.StringBuilder sb,
AtsCapabilityInfo
capability, bool isInterface,
1801
private void GenerateEntryPointFunctions(System.Text.StringBuilder sb, List<
AtsCapabilityInfo
> entryPoints)
1808
foreach (
var
capability in entryPoints)
1814
private void GenerateEntryPointFunction(System.Text.StringBuilder sb,
AtsCapabilityInfo
capability)
1902
private List<BuilderModel> CreateBuilderModels(IReadOnlyList<
AtsCapabilityInfo
> capabilities)
1905
var capabilitiesByTypeId = new Dictionary<string, List<
AtsCapabilityInfo
>>();
1911
var interfaceCapabilities = new Dictionary<string, List<
AtsCapabilityInfo
>>();
1913
foreach (
var
cap in capabilities)
2041
var applicableCapabilities = new List<
AtsCapabilityInfo
>();
2161
private Dictionary<string, AtsTypeRef> CollectAllReferencedTypes(IReadOnlyList<
AtsCapabilityInfo
> capabilities)
2205
foreach (
var
cap in capabilities)
2233
private static List<
AtsCapabilityInfo
> GetEntryPointCapabilities(IReadOnlyList<
AtsCapabilityInfo
> capabilities)
2443
AtsCapabilityInfo
capability,
2513
private string AddParameterMapping(
AtsCapabilityInfo
capability, List<AtsParameterInfo> requiredParameters, List<AtsParameterInfo> optionalParameters)
2538
private string ResolveParameterMappingName(
AtsCapabilityInfo
capability, List<AtsParameterInfo> requiredParameters, List<AtsParameterInfo> optionalParameters)
2589
private static string GetNamespaceQualifiedParameterMappingName(
AtsCapabilityInfo
capability)
2675
AtsCapabilityInfo
capability,
Aspire.Hosting.CodeGeneration.Python.Tests (12)
AtsPythonCodeGeneratorTests.cs (12)
84
var
addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
87
var
withPersistence = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence");
98
var
addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
113
var
addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
119
var
withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence");
131
var
addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
143
var
withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence");
155
var
withOptionalString = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withOptionalString");
167
var
addContainer = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/addContainer");
438
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromTestAssembly()
462
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromHostingAssembly()
469
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromBothAssemblies()
Aspire.Hosting.CodeGeneration.Rust (12)
AtsRustCodeGenerator.cs (12)
400
Dictionary<string, List<
AtsCapabilityInfo
>> capabilitiesByTarget)
445
foreach (
var
method in methods)
456
private void GenerateCapabilityMethod(string structName,
AtsCapabilityInfo
capability)
658
private void GenerateListOrDictProperty(string structName,
AtsCapabilityInfo
capability, string methodName)
789
foreach (
var
capability in context.Capabilities)
838
private static Dictionary<string, List<
AtsCapabilityInfo
>> GroupCapabilitiesByTarget(
839
IReadOnlyList<
AtsCapabilityInfo
> capabilities)
841
var result = new Dictionary<string, List<
AtsCapabilityInfo
>>(StringComparer.Ordinal);
843
foreach (
var
capability in capabilities)
865
list = new List<
AtsCapabilityInfo
>();
875
private static HashSet<string> CollectListAndDictTypeIds(IReadOnlyList<
AtsCapabilityInfo
> capabilities)
878
foreach (
var
capability in capabilities)
Aspire.Hosting.CodeGeneration.Rust.Tests (12)
AtsRustCodeGeneratorTests.cs (12)
143
var
addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
146
var
withPersistence = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence");
157
var
addTestRedis = capabilities.First(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
172
var
addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
178
var
withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence");
190
var
addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/addTestRedis");
202
var
withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withPersistence");
214
var
withOptionalString = capabilities.FirstOrDefault(c => c.CapabilityId == $"{TestTypesAssemblyName}/withOptionalString");
226
var
addContainer = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/addContainer");
342
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromTestAssembly()
366
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromHostingAssembly()
373
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromBothAssemblies()
Aspire.Hosting.CodeGeneration.TypeScript (81)
AtsTypeScriptCodeGenerator.cs (38)
19
public required List<
AtsCapabilityInfo
> Capabilities { get; init; }
113
AtsCapabilityInfo
capability,
141
private void WritePropertyDocComment(string indent,
AtsCapabilityInfo
? getter,
AtsCapabilityInfo
? setter)
143
var
capability = getter is not null &&
429
private static string? GetReturnTypeId(
AtsCapabilityInfo
capability) => capability.ReturnType?.TypeId;
752
private void GenerateGetterOnlyPropertyPromiseSignature(string propertyName,
AtsCapabilityInfo
getter)
759
private void GenerateInterfaceProperty(string propertyName,
AtsCapabilityInfo
? getter,
AtsCapabilityInfo
? setter)
839
foreach (
var
capability in builder.Capabilities.Where(c =>
895
foreach (
var
capability in capabilities)
923
private void GenerateTypeClassInterfaceMethod(BuilderModel model, string className,
AtsCapabilityInfo
capability)
973
foreach (
var
method in standardMethods)
992
foreach (
var
method in standardMethods)
1039
foreach (
var
capability in builder.Capabilities.Where(c =>
1082
private void GenerateBuilderMethod(BuilderModel builder,
AtsCapabilityInfo
capability)
1591
foreach (
var
capability in capabilities)
1660
private void GenerateAspireClient(List<
AtsCapabilityInfo
> entryPoints)
1672
foreach (
var
capability in entryPoints)
1698
private void GenerateEntryPointFunction(
AtsCapabilityInfo
capability)
2157
foreach (
var
method in allMethods)
2165
foreach (
var
method in contextMethods)
2169
foreach (
var
method in otherMethods)
2208
private void GeneratePropertyLikeObject(string propertyName,
AtsCapabilityInfo
? getter,
AtsCapabilityInfo
? setter)
2292
private void GenerateGetterOnlyPropertyMethod(string propertyName,
AtsCapabilityInfo
getter)
2352
private void GenerateWrapperGetterOnlyPropertyMethod(string propertyName,
AtsCapabilityInfo
getter, string wrapperClassName)
2406
private void GenerateWrapperPropertyObject(string propertyName,
AtsCapabilityInfo
getter,
AtsCapabilityInfo
? setter, string wrapperClassName)
2459
private void GenerateDictionaryProperty(string propertyName,
AtsCapabilityInfo
getter)
2495
private void GenerateMutableDictionaryProperty(string propertyName,
AtsCapabilityInfo
getter)
2531
private void GenerateListProperty(string propertyName,
AtsCapabilityInfo
getter)
2560
private void GenerateMutableListProperty(string propertyName,
AtsCapabilityInfo
getter)
2603
private void GenerateContextMethod(
AtsCapabilityInfo
method)
2719
private void GenerateWrapperMethod(
AtsCapabilityInfo
capability)
2830
private void GenerateTypeClassMethod(BuilderModel model,
AtsCapabilityInfo
capability)
3044
private void GenerateTypeClassThenableWrapper(BuilderModel model, List<
AtsCapabilityInfo
> methods)
3069
foreach (
var
capability in methods)
AtsTypeSystemCompatibility.cs (3)
12
typeof(
AtsCapabilityInfo
).GetProperty(nameof(
AtsCapabilityInfo
.IsExperimental), BindingFlags.Instance | BindingFlags.Public);
14
public static bool IsExperimental(
AtsCapabilityInfo
capability)
TypeScriptApiModel.cs (1)
313
public required List<
AtsCapabilityInfo
> ClientMethods { get; init; }
TypeScriptApiProjector.cs (39)
275
foreach (
var
cap in builders
308
internal TypeScriptApiMethodSignature ResolveMethodSignature(BuilderModel? builder,
AtsCapabilityInfo
capability)
380
private static string ResolveTypeClassMethodName(
AtsCapabilityInfo
capability)
390
private string ResolveBuilderReturnType(BuilderModel? builder,
AtsCapabilityInfo
capability)
417
private string ResolveTypeClassReturnType(BuilderModel builder,
AtsCapabilityInfo
capability)
485
foreach (
var
entryPoint in _resolved.ClientMethods.OrderBy(c => c.MethodName, StringComparer.Ordinal))
1005
foreach (
var
capability in methods)
1151
AtsCapabilityInfo
capability)
1175
AtsCapabilityInfo
? getter,
1176
AtsCapabilityInfo
? setter)
1232
private (TypeScriptApiItem Item, TypeScriptApiDeclaration Declaration) ProjectEntryPoint(
AtsCapabilityInfo
capability)
1278
internal TypeScriptApiMethodSignature ResolveEntryPointSignature(
AtsCapabilityInfo
capability)
1309
private string ResolveEntryPointReturnType(
AtsCapabilityInfo
capability)
1535
private string GetCapabilityOwningAssemblyName(
AtsCapabilityInfo
capability)
1538
/// <inheritdoc cref="GetCapabilityOwningAssemblyName(
AtsCapabilityInfo
)"/>
1543
private static string GetCapabilityOwningAssemblyName(AtsContext context,
AtsCapabilityInfo
capability)
1560
/// reason as <see cref="GetCapabilityOwningAssemblyName(
AtsCapabilityInfo
)"/>.
2091
internal string ResolveOptionsInterfaceName(
AtsCapabilityInfo
capability)
2459
internal static bool IsGetterOnlyProperty(
AtsCapabilityInfo
? getter,
AtsCapabilityInfo
? setter) => getter is not null && setter is null;
2509
internal string GetBuilderPromiseInterfaceForMethod(BuilderModel builder,
AtsCapabilityInfo
capability)
2563
internal static List<(string PropertyName,
AtsCapabilityInfo
? Getter,
AtsCapabilityInfo
? Setter)> GroupPropertiesByName(
2564
List<
AtsCapabilityInfo
> getters, List<
AtsCapabilityInfo
> setters)
2566
var result = new List<(string PropertyName,
AtsCapabilityInfo
? Getter,
AtsCapabilityInfo
? Setter)>();
2570
foreach (
var
getter in getters)
2581
var
setter = setters.FirstOrDefault(s => ExtractPropertyName(s.MethodName).Equals(setterName, StringComparison.OrdinalIgnoreCase));
2587
foreach (
var
setter in setters)
2643
internal static List<BuilderModel> CreateBuilderModels(IReadOnlyList<
AtsCapabilityInfo
> capabilities)
2648
var capabilitiesByTypeId = new Dictionary<string, List<
AtsCapabilityInfo
>>();
2654
var interfaceCapabilities = new Dictionary<string, List<
AtsCapabilityInfo
>>();
2656
foreach (
var
cap in capabilities)
2856
private static void SortOptionsInterfaceCollisionsByCapabilityIdentity(List<
AtsCapabilityInfo
> capabilities)
2931
internal static Dictionary<string, AtsTypeRef> CollectAllReferencedTypes(IReadOnlyList<
AtsCapabilityInfo
> capabilities)
2960
foreach (
var
cap in capabilities)
2992
internal static List<
AtsCapabilityInfo
> GetEntryPointCapabilities(IReadOnlyList<
AtsCapabilityInfo
> capabilities)
Aspire.Hosting.CodeGeneration.TypeScript.Tests (83)
AtsTypeScriptCodeGeneratorTests.cs (83)
146
var
addTestRedis = capabilities.First(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis");
149
var
withPersistence = capabilities.First(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/withPersistence");
162
var
addTestRedis = capabilities.First(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis");
174
var
addTestRedis = context.Capabilities.First(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis");
221
var
capability = CreateDistributedApplicationBuilderCapability(
239
var
capability = CreateDistributedApplicationBuilderCapability(
342
var
capability = CreateDistributedApplicationBuilderCapability(
364
var
capability = CreateDistributedApplicationBuilderCapability(
410
var
nameGetterCapability = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests.TestTypes/TestCallbackContext.name");
420
var
nameSetterCapability = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests.TestTypes/TestCallbackContext.setName");
428
var
valueGetterCapability = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests.TestTypes/TestCallbackContext.value");
435
var
valueSetterCapability = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests.TestTypes/TestCallbackContext.setValue");
490
var
withOptionalString = capabilities
507
var
withOptionalString = capabilities
548
var
addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis");
564
var
addTestRedis = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis");
570
var
withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/withPersistence");
576
var
withRedisSpecific = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/withRedisSpecific");
612
var
withPersistence = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/withPersistence");
624
var
withOptionalString = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/withOptionalString");
636
var
addContainer = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/addContainer");
647
var
withBrowserLogs = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting.Browsers/withBrowserLogs");
705
foreach (
var
cap in directContainerCapabilities)
735
var
withBindMount = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/withBindMount");
745
var
withEnvironment = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/withEnvironment");
762
var
withConnectionStringDirect = capabilities
790
var
withRedisSpecific = capabilities
818
var
withBindMount = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/withBindMount");
843
var
withDependency = capabilities
899
var
capability = CreateVoidEntryPointCapability(
1020
var
withRedisSpecific = capabilities
1043
var
withConnectionStringDirect = capabilities
1077
var
testWithEnvironmentCallback = capabilities
1107
var
withReference = capabilities
1114
var
addContainer = capabilities
1120
var
withEnvironment = capabilities
1131
var
withReference = Assert.Single(capabilities, c => c.CapabilityId == "Aspire.Hosting/withReference");
1146
var
withVolume = capabilities
1163
var
withProjectVolume = Assert.Single(
1179
var
withExecutableVolume = Assert.Single(
1190
var
withBindMount = capabilities
1197
var
withCommand = capabilities
1239
var
capability = Assert.Single(
1251
var
withoutStorageClassCapability = Assert.Single(
1439
var
addTestRedis = scannedContext.Capabilities
1567
private static
AtsCapabilityInfo
CreateSameNameResourceCapability<TResource>(
1569
AtsCapabilityInfo
distributedApplicationBuilderCapability)
1739
var
publishAsWebsite = Assert.Single(capabilities, c => c.CapabilityId == "Aspire.Hosting.Azure.AppService/publishAsAzureAppServiceWebsite");
1743
var
publishAsContainerAppJob = Assert.Single(capabilities, c => c.CapabilityId == "Aspire.Hosting.Azure.AppContainers/publishAsAzureContainerAppJob");
1757
var
capability = Assert.Single(result.Capabilities, c => c.CapabilityId == "Aspire.Hosting.Azure.AppContainers/asExpress");
1802
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromTestAssembly()
1820
private static AtsContext WithAdditionalCapabilities(AtsContext context, params
AtsCapabilityInfo
[] capabilities)
1841
private static
AtsCapabilityInfo
CreateVoidEntryPointCapability(string methodName, params AtsParameterInfo[] parameters) =>
1855
private static
AtsCapabilityInfo
CreateDistributedApplicationBuilderCapability(
1862
var
addTestRedis = context.Capabilities.First(c => c.CapabilityId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/addTestRedis");
1891
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromHostingAssembly()
1898
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromBrowsersAssembly()
1912
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromBothAssemblies()
1930
private static List<
AtsCapabilityInfo
> ScanCapabilitiesFromAzureAssemblies()
1947
private static void AssertCallbackParameterTypes(
AtsCapabilityInfo
capability, string parameterName, params Type[] expectedTypes)
1956
private static void AssertTargetedMethod(IReadOnlyList<
AtsCapabilityInfo
> capabilities, string capabilityId, string methodName, Type targetType, Type parameterType)
1958
var
capability = Assert.Single(capabilities, c => c.CapabilityId == capabilityId);
1966
private static void AssertAzureExistingResourceScopeCapability(IReadOnlyList<
AtsCapabilityInfo
> capabilities, string methodName, string[] parameterNames)
1968
var
capability = Assert.Single(capabilities, c => c.CapabilityId == $"Aspire.Hosting.Azure/{methodName}");
2026
var
capability = capabilities.FirstOrDefault(c => c.CapabilityId == expectedId);
2046
var
capability = capabilities.FirstOrDefault(c => c.CapabilityId == expectedId);
2094
var
dictSet = capabilities.FirstOrDefault(c => c.CapabilityId == "Aspire.Hosting/Dict.set");
2146
var
getValueAsync = capabilities.First(c =>
2157
var
getValueAsync = capabilities.FirstOrDefault(c =>
2171
var
addTestRedis = capabilities.First(c =>
2242
var
getStatusAsync = capabilities
2273
var
withCancellableOperation = capabilities
2295
var
waitForReadyAsync = capabilities
2320
var
addDotnetProject = Assert.Single(context.Capabilities, capability => capability.CapabilityId == "Aspire.Hosting.Dotnet/addDotnetProject");
2334
var
addCSharpApp = Assert.Single(context.Capabilities, capability => capability.CapabilityId == "Aspire.Hosting/addCSharpApp");
2473
var
addTestRedis = capabilities
2570
var
collisionCapability = CreateVoidEntryPointCapability(
2640
var
withNpm = result.Capabilities
2671
var
capability = result.Capabilities
3033
var
eventHubsCapability = CreateRunAsEmulatorCapability(
3041
var
serviceBusCapability = CreateRunAsEmulatorCapability(
3232
private static AtsContext CreateApiContext(params
AtsCapabilityInfo
[] capabilities)
3243
private static
AtsCapabilityInfo
CreateRunAsEmulatorCapability(
Aspire.Hosting.RemoteHost (48)
Ats\CapabilityDispatcher.cs (11)
52
public
AtsCapabilityInfo
? Capability { get; init; }
145
foreach (
var
capability in result.Capabilities)
177
private void RegisterContextTypeProperty(
AtsCapabilityInfo
capability, PropertyInfo property)
304
private void RegisterContextTypeMethod(
AtsCapabilityInfo
capability, MethodInfo method)
417
private void RegisterFromCapability(
AtsCapabilityInfo
capability, MethodInfo method)
777
AtsCapabilityInfo
capability,
821
AtsCapabilityInfo
capability,
894
private static IReadOnlyList<Type>? GetUnionMemberClrTypes(ParameterInfo parameter,
AtsCapabilityInfo
capability)
904
private static IReadOnlyList<Type>? GetUnionMemberClrTypes(PropertyInfo property,
AtsCapabilityInfo
capability, string parameterName)
936
private static IReadOnlyList<Type>? TryGetUnionMemberClrTypes(
AtsCapabilityInfo
capability, string parameterName)
991
AtsCapabilityInfo
capability,
Ats\ExternalCapabilityRegistry.cs (2)
747
private static
AtsCapabilityInfo
CreateProjectedCapability(ExternalCapabilityProjection capability)
825
public required
AtsCapabilityInfo
ProjectedCapability { get; init; }
AtsCapabilityScanner.cs (22)
30
public required List<
AtsCapabilityInfo
> Capabilities { get; init; }
141
var allCapabilities = new List<
AtsCapabilityInfo
>();
149
var seenCapabilities = new Dictionary<string,
AtsCapabilityInfo
>(); // Track capability ID -> first capability for duplicate detection
160
foreach (
var
capability in result.Capabilities)
162
if (seenCapabilities.TryGetValue(capability.CapabilityId, out
var
existingCapability))
373
var capabilities = new List<
AtsCapabilityInfo
>();
512
var
capability = CreateCapabilityInfo(method, exportAttr, assemblyName, assemblyExportedTypeCache, out var capabilityDiagnostic);
600
List<
AtsCapabilityInfo
> capabilities,
610
foreach (
var
capability in capabilities)
708
List<
AtsCapabilityInfo
> capabilities,
712
foreach (
var
capability in capabilities)
793
List<
AtsCapabilityInfo
> capabilities,
901
List<
AtsCapabilityInfo
> capabilities,
909
foreach (
var
capability in capabilities)
1009
private static void FilterMethodNameCollisions(List<
AtsCapabilityInfo
> capabilities, List<AtsDiagnostic> diagnostics)
1044
var
exactTargetCapability = exactTargetCapabilities[0];
1045
foreach (
var
collidingCapability in collidingCapabilities)
1080
foreach (
var
capability in capabilities)
1098
public static List<
AtsCapabilityInfo
> ScanCapabilities(
1591
public required List<
AtsCapabilityInfo
> Capabilities { get; init; }
1615
var capabilities = new List<
AtsCapabilityInfo
>();
2052
private static
AtsCapabilityInfo
? CreateCapabilityInfo(
AtsContextFilter.cs (10)
145
foreach (
var
capability in capabilities)
165
private static IEnumerable<string> GetCapabilityTargetTypeIds(
AtsCapabilityInfo
capability)
247
foreach (
var
capability in filteredCapabilities)
291
foreach (
var
capability in filteredCapabilities)
308
private static IEnumerable<
AtsCapabilityInfo
> CreateApiExportSupportCapabilities(
309
AtsCapabilityInfo
capability,
359
private static IReadOnlyList<AtsParameterInfo> CreateApiExportSupportParameters(
AtsCapabilityInfo
capability)
503
AtsCapabilityInfo
capability,
547
foreach (
var
capability in context.Capabilities)
645
foreach (
var
capability in context.Capabilities)
CodeGeneration\CodeGenerationService.cs (1)
111
private static CapabilityResponse MapCapability(
AtsCapabilityInfo
c) => new()
Diagnostics\RemoteHostProfilingTelemetry.cs (2)
184
public ActivityScope StartCapabilityInvoke(string capabilityId,
AtsCapabilityInfo
? capability)
436
public void SetCapability(string capabilityId,
AtsCapabilityInfo
? capability)
Aspire.Hosting.RemoteHost.Tests (33)
AtsCapabilityScannerTests.cs (18)
156
var
enumerableParameterCapability = Assert.Single(result.Capabilities,
163
var
enumerableReturnCapability = Assert.Single(result.Capabilities,
188
var
capability = Assert.Single(result.Capabilities,
327
var
capability = Assert.Single(result.Capabilities,
402
var
capability = Assert.Single(result.Capabilities, capability => capability.OwningTypeName == typeName && capability.MethodName == methodName);
414
var
capability = Assert.Single(result.Capabilities,
468
var
baseNameCapability = Assert.Single(result.Capabilities,
488
var
nameGetter = Assert.Single(result.Capabilities,
493
var
descriptionGetter = Assert.Single(result.Capabilities,
499
var
mutableSetter = Assert.Single(result.Capabilities,
620
var
genericCapability = Assert.Single(result.Capabilities,
622
var
specificCapability = Assert.Single(result.Capabilities,
651
var
capability = result.Capabilities
678
var
capability = Assert.Single(result.Capabilities,
697
var
capability = Assert.Single(result.Capabilities,
716
var
capability = Assert.Single(result.Capabilities,
743
var
capability = Assert.Single(result.Capabilities, c => c.CapabilityId == expectedCapabilityId);
871
var
capability = Assert.Single(result.Capabilities,
AtsContextFilterTests.cs (4)
180
var
supportingCapability = new AtsCapabilityInfo
225
var
filteredSupport = Assert.Single(
496
var
selectedCapability = new AtsCapabilityInfo
553
var
unrelatedCapability = new AtsCapabilityInfo
AttributeDataReaderTests.cs (5)
138
var
capability = Assert.Single(
165
var
capability = Assert.Single(result.Capabilities);
210
var
compatibleCapability = result.Capabilities
225
var
officialCapability = result.Capabilities
227
var
thirdPartyCapability = result.Capabilities
ExternalCapabilityRegistryTests.cs (6)
540
var
capability = Assert.Single(registry.AugmentContext(CreateContext()).Capabilities);
568
var
capability = Assert.Single(registry.AugmentContext(CreateContext()).Capabilities);
889
var
managedCapability = new AtsCapabilityInfo
915
var
managedCapability = new AtsCapabilityInfo
974
var
capability = Assert.Single(augmented.Capabilities);
1014
private static AtsContext CreateContext(params
AtsCapabilityInfo
[] capabilities)
Aspire.TypeSystem (1)
AtsContext.cs (1)
58
public required IReadOnlyList<
AtsCapabilityInfo
> Capabilities { get; init; }