434 references to Value
ConfigurationSchemaGenerator (6)
ConfigSchemaEmitter.cs (1)
423attribute.ConstructorArguments[0].Value is int value &&
ConfigSchemaGenerator.cs (4)
70var path = (string)args[0].Value; 77(types ??= new()).Add((INamedTypeSymbol)args[1].Value); 82(exclusionPaths ??= new()).AddRange(exclusionPathsArg.Values.Select(v => $"{path}:{(string)v.Value}")); 93(logCategories ??= new()).AddRange(args[0].Values.Select(v => (string)v.Value));
RuntimeSource\Configuration.Binder\ConfigurationBindingGenerator.Parser.cs (1)
675string configKeyName = attributeData?.ConstructorArguments.FirstOrDefault().Value as string ?? propertyName;
GenerateDocumentationAndConfigFiles (3)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ITypeSymbolExtensions.cs (1)
204return !Equals(false, typedConstant.Value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\InterceptsLocationUtilities.cs (2)
49ConstructorArguments: [{ Value: int version }, { Value: string attributeData }]
ILLink.RoslynAnalyzer (11)
COMAnalyzer.cs (2)
70var unmanagedType = typedConstant.Value; 133(LayoutKind)structLayoutAttribute.ConstructorArguments[0].Value! == LayoutKind.Auto)
DataFlow\LocalDataFlowVisitor.cs (1)
814if (attributeArgument.Value is not bool doesNotReturnIfConditionValue)
ISymbolExtensions.cs (3)
64return (DynamicallyAccessedMemberTypes)dynamicallyAccessedMembers!.ConstructorArguments[0].Value!; 81return (DynamicallyAccessedMemberTypes)dynamicallyAccessedMembers.ConstructorArguments[0].Value!; 89if (featureGuardAttribute.ConstructorArguments is [TypedConstant { Value: INamedTypeSymbol featureType }])
RequiresAnalyzerBase.cs (2)
120(string)requiresAttribute.ConstructorArguments[0].Value!, 294var url = requiresAttribute?.NamedArguments.FirstOrDefault(na => na.Key == "Url").Value.Value?.ToString();
RequiresAssemblyFilesAnalyzer.cs (1)
143message = requiresAttribute.ConstructorArguments[0].Value?.ToString() ?? "";
RequiresDynamicCodeAnalyzer.cs (1)
171var message = (string)requiresAttribute!.ConstructorArguments[0].Value!;
RequiresUnreferencedCodeUtils.cs (1)
41var message = (string)requiresAttribute!.ConstructorArguments[0].Value!;
Metrics (3)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ITypeSymbolExtensions.cs (1)
204return !Equals(false, typedConstant.Value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\InterceptsLocationUtilities.cs (2)
49ConstructorArguments: [{ Value: int version }, { Value: string attributeData }]
Metrics.Legacy (3)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ITypeSymbolExtensions.cs (1)
204return !Equals(false, typedConstant.Value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\InterceptsLocationUtilities.cs (2)
49ConstructorArguments: [{ Value: int version }, { Value: string attributeData }]
Microsoft.Analyzers.Extra (3)
CallAnalysis\Fixers\LegacyLoggingFixer.cs (3)
209var level = (LogLevel)argLevel.Value.Value!; 217var message = argMessage.Value.Value!.ToString(); 648var eventId = (int)arg.Value.Value!;
Microsoft.AspNetCore.App.Analyzers (5)
Mvc\DetectAmbiguousActionRoutes.cs (1)
123if (actionNameAttribute != null && actionNameAttribute.ConstructorArguments.Length > 0 && actionNameAttribute.ConstructorArguments[0].Value is string name)
Mvc\DetectOverriddenAuthorizeAttribute.cs (1)
126return (bool)arg.Value.Value!;
RouteEmbeddedLanguage\Infrastructure\RoutePatternParametersDetector.cs (1)
56var routeParameterName = (string)routeParameterNameConstant.Value!;
RouteEmbeddedLanguage\Infrastructure\RouteStringSyntaxDetector.cs (1)
358if (argument.Kind != TypedConstantKind.Primitive || argument.Value is not string argString)
src\Shared\RoslynUtils\SymbolExtensions.cs (1)
211argumentValue = (T?)routeParameterNameConstant.Value;
Microsoft.AspNetCore.Components.Analyzers (1)
ComponentFacts.cs (1)
68return kvp.Value.Value as bool? ?? false;
Microsoft.AspNetCore.Components.SdkAnalyzers (1)
ComponentFacts.cs (1)
68return kvp.Value.Value as bool? ?? false;
Microsoft.AspNetCore.Http.RequestDelegateGenerator (2)
src\Shared\RoslynUtils\SymbolExtensions.cs (1)
211argumentValue = (T?)routeParameterNameConstant.Value;
StaticRouteHandlerModel\EndpointParameter.cs (1)
160KeyedServiceKey = SymbolDisplay.FormatPrimitive(constructorArgument.Value!, true, true);
Microsoft.AspNetCore.Mvc.Analyzers (1)
TopLevelParameterNameAnalyzer.cs (1)
166namedArgumentValue.Value is string name)
Microsoft.AspNetCore.Mvc.Api.Analyzers (9)
ActualApiResponseMetadataFactory.cs (1)
251attribute.ConstructorArguments[0].Value is int statusCode)
SymbolApiConventionMatcher.cs (2)
71var argEnum = attribute.ConstructorArguments[0].Value; 93var argEnum = attribute.ConstructorArguments[0].Value;
SymbolApiResponseMetadataProvider.cs (6)
56errorTypeAttribute.ConstructorArguments[0].Value is ITypeSymbol typeSymbol) 99!(attribute.ConstructorArguments[0].Value is ITypeSymbol conventionType)) 105!(attribute.ConstructorArguments[1].Value is string conventionMethodName)) 175!(attribute.ConstructorArguments[0].Value is ITypeSymbol conventionType)) 196namedArgumentValue.Value is int statusCode) 220if (argument.Kind == TypedConstantKind.Primitive && argument.Value is int statusCode)
Microsoft.CodeAnalysis (1)
Symbols\TypedConstant.cs (1)
91/// Unlike <see cref="Value"/> returns <see cref="ISymbolInternal"/> when the value is a symbol.
Microsoft.CodeAnalysis.Analyzers (10)
ImplementationIsObsoleteAnalyzer.cs (2)
54if (attributes.FirstOrDefault(a => a is { AttributeClass.Name: ImplementationIsObsoleteAttributeName, ConstructorArguments: [{ Value: string }] } 58context.ReportDiagnostic(namedTypeSymbol.CreateDiagnostic(Rule, namedTypeSymbol.Name, iface.Name, (string)attr.ConstructorArguments[0].Value!));
MetaAnalyzers\CompilerExtensionStrictApiAnalyzer.cs (1)
205var supportedLanguage = (string?)argument.Value;
MetaAnalyzers\CompilerExtensionTargetFrameworkAnalyzer.cs (3)
65switch (appliedTargetFrameworkAttribute.ConstructorArguments[0].Value as string) 79displayName = appliedTargetFrameworkAttribute.NamedArguments.FirstOrDefault(arg => arg.Key == nameof(TargetFrameworkAttribute.FrameworkDisplayName)).Value.Value as string 80?? appliedTargetFrameworkAttribute.ConstructorArguments[0].Value as string
MetaAnalyzers\DiagnosticAnalyzerAttributeAnalyzer.cs (1)
153var supportedLanguage = (string?)argument.Value;
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ITypeSymbolExtensions.cs (1)
204return !Equals(false, typedConstant.Value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\InterceptsLocationUtilities.cs (2)
49ConstructorArguments: [{ Value: int version }, { Value: string attributeData }]
Microsoft.CodeAnalysis.AnalyzerUtilities (3)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ITypeSymbolExtensions.cs (1)
204return !Equals(false, typedConstant.Value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\InterceptsLocationUtilities.cs (2)
49ConstructorArguments: [{ Value: int version }, { Value: string attributeData }]
Microsoft.CodeAnalysis.BannedApiAnalyzers (5)
RestrictedInternalsVisibleToAnalyzer.cs (2)
153assemblyAttribute.ConstructorArguments[0].Value is not string assemblyName || 170namespaceConstant.Value is string namespaceName)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ITypeSymbolExtensions.cs (1)
204return !Equals(false, typedConstant.Value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\InterceptsLocationUtilities.cs (2)
49ConstructorArguments: [{ Value: int version }, { Value: string attributeData }]
Microsoft.CodeAnalysis.CodeStyle (5)
src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs (2)
850attribute.ConstructorArguments is [_, { Kind: TypedConstantKind.Primitive, Value: string checkId }, ..]) 862Value: string categoryArg
src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
777attribute.ConstructorArguments is [{ Kind: TypedConstantKind.Primitive, Type.SpecialType: SpecialType.System_String, Value: string value }])
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\InterceptsLocationUtilities.cs (2)
49ConstructorArguments: [{ Value: int version }, { Value: string attributeData }]
Microsoft.CodeAnalysis.CSharp (7)
Symbols\Source\SourceMethodSymbolWithAttributes.cs (5)
996{ Kind: not TypedConstantKind.Array, Value: int lineNumberOneBased }, 997{ Kind: not TypedConstantKind.Array, Value: int characterNumberOneBased }]) 999DecodeInterceptsLocationAttributeExperimentalCompat(arguments, attributeFilePath: (string?)constructorArguments[0].Value, lineNumberOneBased, characterNumberOneBased); 1004DecodeInterceptsLocationChecksumBased(arguments, version: (int)constructorArguments[0].Value!, data: (string?)constructorArguments[1].Value);
Symbols\TypedConstantExtensions.cs (2)
32Debug.Assert(constant.Value is object); 33return "typeof(" + constant.Value.ToString() + ")";
Microsoft.CodeAnalysis.CSharp.CodeStyle (2)
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (2)
895if (collectionBuilderAttributeData?.ConstructorArguments is not [{ Value: ITypeSymbol collectionBuilderType }, { Value: CreateName }])
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (3)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\AttributeGenerator.cs (1)
104if (existingSyntax?.ArgumentList != null && constant.Kind is not TypedConstantKind.Array && constant.Value is string stringValue)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ExpressionGenerator.cs (2)
31return GenerateExpression(typedConstant.Type, typedConstant.Value, canUseFieldReference: true); 34return typedConstant.Value is ITypeSymbol typeSymbol
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (11)
CodeGen\CodeGenAsyncIteratorTests.cs (1)
1153Assert.Equal("C.<M>d__0", ((ITypeSymbol)argument.Value).ToTestDisplayString());
CodeGen\CodeGenFunctionPointersTests.cs (6)
11680Assert.Equal(0, arg.Value); 11743Assert.Equal(0, arg.Value); 11806Assert.Equal(0, arg.Value); 12140Assert.Equal(33, arg.Value); 12283Assert.Equal(33, arg.Value); 12369Assert.Equal(0, item.Value);
CodeGen\CodeGenLocalFunctionTests.cs (3)
5292Assert.Equal(new object[] { 1, "hello" }, attrs[2].ConstructorArguments.Select(a => a.Value)); 5295Assert.Equal(new object[] { 1, 2, 3, 4, 5 }, attr3Args.Select(a => a.Value)); 5332Assert.Equal(42, arg.Value);
Emit\OptionalArgumentsTests.cs (1)
229Assert.Equal(expectedDefault, argument.Value);
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (50)
Attributes\AttributeTests.cs (23)
655Assert.Equal(new object[] { 1, 2, 3 }, attributeData.ConstructorArguments.Single().Values.Select(arg => arg.Value)); 712Assert.Equal("M0", attrs.Single().ConstructorArguments.Single().Value); 1027Assert.Equal(true, arguments0[0].Value); 1028Assert.Equal(1, arguments0[1].Value); 1034Assert.Equal(true, arguments1[0].Value); 1035Assert.Equal(1, arguments1[1].Value); 1037Assert.Equal("a", arguments1[2].Values.Single().Value); 4649Assert.Equal(33, arg.Value); 4682Assert.Equal(33, arg.Value.Value); 4714Assert.Equal(33, arg.Value); 4747Assert.Equal(33, arg.Value.Value); 4782Assert.Equal(33, arg.Value); 4813Assert.Equal(33, arg.Value); 4839Assert.Equal(33, arg.Value); 4871Assert.Equal(33, arg.Value); 5759Assert.Throws<InvalidOperationException>(() => args[0].Value); 5763Assert.Throws<InvalidOperationException>(() => args[1].Value); 5769Assert.Throws<InvalidOperationException>(() => named["P"].Value); 5773Assert.Throws<InvalidOperationException>(() => named["F"].Value); 5801Assert.Null(args[0].Value); 5805Assert.Null(args[1].Value); 9915var typeInAttribute = (INamedTypeSymbol)type.GetAttributes()[0].ConstructorArguments.First().Value; 9925typeInAttribute = (INamedTypeSymbol)type.GetAttributes()[0].ConstructorArguments.First().Value;
Attributes\AttributeTests_CallerInfoAttributes.cs (14)
1946Assert.Equal("Hello", attributeArguments[0].Value); 1947Assert.Equal("\"Hello\"", attributeArguments[1].Value); 1978Assert.Equal("Hello", attributeArguments[0].Value); 1979Assert.Equal("\"Hello\"", attributeArguments[1].Value); 2010Assert.Equal("Hello", attributeArguments[0].Value); 2011Assert.Equal("World", attributeArguments[1].Value); 2012Assert.Equal("\"Hello\"", attributeArguments[2].Value); 2043Assert.Equal("Hello", attributeArguments[0].Value); 2044Assert.Equal("World", attributeArguments[1].Value); 2045Assert.Equal("\"Hello\"", attributeArguments[2].Value); 2301Assert.Equal(3, arguments[0].Value); 2302Assert.Equal(0, arguments[1].Value); 4410Assert.Equal(1, attr.CommonConstructorArguments[0].Value); 4440Assert.Equal(1, attr.CommonConstructorArguments[0].Value);
Attributes\AttributeTests_Dynamic.cs (3)
552Assert.Equal(expectedTransformFlags[i], (bool)actualTransformFlag.Value); 1104Assert.Equal(false, values[0].Value); 1105Assert.Equal(true, values[1].Value);
Attributes\AttributeTests_IsByRefLike.cs (3)
676Assert.Equal("hello", attribute.ConstructorArguments.ElementAt(0).Value); 677Assert.Equal(true, attribute.ConstructorArguments.ElementAt(1).Value); 761Assert.Equal(42u, attribute.ConstructorArguments.ElementAt(2).Value);
Attributes\AttributeTests_Synthesized.cs (2)
195Assert.Equal(DebuggerBrowsableState.Never, (DebuggerBrowsableState)attributes[1].ConstructorArguments.Single().Value); 406return (string)dd.ConstructorArguments.Single().Value;
Attributes\AttributeTests_Tuples.cs (1)
648return (string)constant.Value;
Attributes\AttributeTests_WellKnownAttributes.cs (1)
199Assert.Equal(TypeLibFuncFlags.FDefaultBind, (TypeLibFuncFlags)attrSym.CommonConstructorArguments[0].Value);
Semantics\CollectionExpressionTests.cs (3)
28184Assert.Equal(42, values[0].Value); 28185Assert.Equal(43, values[1].Value); 28186Assert.Equal(44, values[2].Value);
Microsoft.CodeAnalysis.CSharp.Features (2)
src\Analyzers\CSharp\Analyzers\UseCollectionExpression\UseCollectionExpressionHelpers.cs (2)
895if (collectionBuilderAttributeData?.ConstructorArguments is not [{ Value: ITypeSymbol collectionBuilderType }, { Value: CreateName }])
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (8)
Semantics\BindingTests.cs (3)
2605Assert.Equal((int)i.Value, (int)t.ConstantValue); 2635Assert.Equal((int)i.Value, (int)t.ConstantValue); 2665Assert.Equal((int)i.Value, (int)t.ConstantValue);
Semantics\LocalFunctionTests.cs (1)
559Assert.Equal(42, attributeData.ConstructorArguments.Single().Value);
Semantics\MultiDimensionalArrayTests.cs (4)
1681var a1 = (IArrayTypeSymbol)p.GetMember<MethodSymbol>("Test1").GetAttributes().Single().ConstructorArguments.Single().Value; 1686var a2 = (IArrayTypeSymbol)p.GetMember<MethodSymbol>("Test2").GetAttributes().Single().ConstructorArguments.Single().Value; 1691Assert.True(((ITypeSymbol)p.GetMember<MethodSymbol>("Test3").GetAttributes().Single().ConstructorArguments.Single().Value).IsErrorType()); 1692Assert.True(((ITypeSymbol)p.GetMember<MethodSymbol>("Test4").GetAttributes().Single().ConstructorArguments.Single().Value).IsErrorType());
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (37)
Compilation\SemanticModelAPITests.cs (1)
4485Assert.Equal("DEBUG", attribute.ConstructorArguments[0].Value);
Symbols\AnonymousTypesSymbolTests.cs (1)
1161actual[index].CommonConstructorArguments[argIndex].Value.ToString()
Symbols\Metadata\PE\LoadingAttributes.cs (27)
389Assert.Equal("Integer", attr.CommonConstructorArguments.Single().Value); 395Assert.Equal("Integer", attr.CommonConstructorArguments.Single().Value); 551CheckConstructorArg(expected[i].Pos[j], pa.Value.ToString()); 573Assert.Equal(expected.Value, actual.Value.Value.ToString()); 627Assert.Equal(2, a.CommonConstructorArguments[0].Value); 701Assert.Equal(typeof(Int32), attrSym.CommonConstructorArguments[0].Value.GetType()); 702Assert.Equal(1, attrSym.CommonConstructorArguments[0].Value); 719Assert.Equal(32, attrSym.CommonConstructorArguments[0].Value); 752Assert.Equal(3, attrSym.CommonConstructorArguments[0].Value); 756Assert.Equal(true, attrSym.CommonNamedArguments[0].Value.Value); 989Assert.Equal("555", attrSym.CommonConstructorArguments[0].Value); 997Assert.Equal("obj", attrSym.CommonConstructorArguments[0].Value); 998Assert.Equal(12, attrSym.CommonConstructorArguments[1].Value); 1008Assert.Equal("System.Collections.Generic.IList<>", (attrSym.CommonNamedArguments[0].Value.Value as INamedTypeSymbol).ToString()); 1119Assert.Equal(-1, prop.GetAttributes().First().CommonConstructorArguments[0].Value); 1137Assert.Equal(-8, attrSym.CommonConstructorArguments[0].Value); 1139Assert.Equal(Convert.ToByte(255), attrSym.CommonConstructorArguments[1].Value); 1149Assert.Equal(7, attrSym.CommonConstructorArguments[0].Value); 1151Assert.Equal(256L, attrSym.CommonConstructorArguments[1].Value); 1153Assert.Equal(0.123f, attrSym.CommonConstructorArguments[2].Value); 1154Assert.Equal(Convert.ToInt16(-2), attrSym.CommonConstructorArguments[3].Value); 1162Assert.Equal("AttributeUse.IFoo<System.Int16, System.UInt16>", (attrSym.CommonConstructorArguments[0].Value as INamedTypeSymbol).ToDisplayString(SymbolDisplayFormat.TestFormat)); 1163Assert.Equal(1, attrSym.CommonNamedArguments[0].Value.Value); 1211Assert.Equal("System.Linq.Expressions.Expression.BinaryExpressionProxy", ((ITypeSymbol)attr1.CommonConstructorArguments[0].Value).ToDisplayString(SymbolDisplayFormat.TestFormat)); 1216Assert.Equal("System.Linq.Expressions.Expression.TypeBinaryExpressionProxy", ((ITypeSymbol)attr1.CommonConstructorArguments[0].Value).ToDisplayString(SymbolDisplayFormat.TestFormat)); 1246Assert.Equal(0, attr.CommonNamedArguments[0].Value.Value); 1283Assert.Equal(1, attr.CommonConstructorArguments[0].Value);
Symbols\Retargeting\RetargetCustomAttributes.cs (4)
309Assert.Throws<InvalidOperationException>(() => args[0].Value); 313Assert.Throws<InvalidOperationException>(() => args[1].Value); 319Assert.Throws<InvalidOperationException>(() => named["P"].Value); 323Assert.Throws<InvalidOperationException>(() => named["F"].Value);
Symbols\TypedConstantTests.cs (4)
48Assert.Equal(common.Value, lang.Value); 52Assert.Equal(common.Value, common2.Value);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (4)
Extensions.cs (3)
429return expected.Equals(arg.Value); 464return expected == null ? arg.Value == null : expected.Equals(arg.Value);
TestAttributesVisitor.cs (1)
197builder.Append(value.Value);
Microsoft.CodeAnalysis.CSharp.WinRT.UnitTests (2)
Metadata\WinMdDumpTest.cs (2)
311result.Append(constant.Value); 317var value = constant.Value;
Microsoft.CodeAnalysis.CSharp.Workspaces (3)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\AttributeGenerator.cs (1)
104if (existingSyntax?.ArgumentList != null && constant.Kind is not TypedConstantKind.Array && constant.Value is string stringValue)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ExpressionGenerator.cs (2)
31return GenerateExpression(typedConstant.Type, typedConstant.Value, canUseFieldReference: true); 34return typedConstant.Value is ITypeSymbol typeSymbol
Microsoft.CodeAnalysis.CSharp.Workspaces.UnitTests (1)
CodeGeneration\SyntaxGeneratorTests.cs (1)
5296var type = (ITypeSymbol)attribute.ConstructorArguments[0].Values[2].Value;
Microsoft.CodeAnalysis.Features (10)
DesignerAttribute\DesignerAttributeDiscoveryService.cs (1)
321if (attribute is { ConstructorArguments: [{ Type.SpecialType: SpecialType.System_String, Value: string stringValue }] })
EditAndContinue\AbstractEditAndContinueAnalyzer.cs (5)
5226return attribute.ConstructorArguments.Single().Value switch 6735TypedConstantKind.Type => TypesEquivalent((ITypeSymbol?)x.Value, (ITypeSymbol?)y.Value, exact: false), 6736_ => Equals(x.Value, y.Value)
EmbeddedLanguages\EmbeddedLanguageDetector.cs (1)
526if (argument.Kind != TypedConstantKind.Primitive || argument.Value is not string argString)
src\Analyzers\Core\Analyzers\RemoveUnnecessarySuppressions\AbstractRemoveUnnecessaryPragmaSuppressionsDiagnosticAnalyzer.cs (2)
850attribute.ConstructorArguments is [_, { Kind: TypedConstantKind.Primitive, Value: string checkId }, ..]) 862Value: string categoryArg
src\Analyzers\Core\Analyzers\RemoveUnusedMembers\AbstractRemoveUnusedMembersDiagnosticAnalyzer.cs (1)
777attribute.ConstructorArguments is [{ Kind: TypedConstantKind.Primitive, Type.SpecialType: SpecialType.System_String, Value: string value }])
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (6)
AbstractAllocationAnalyzer.cs (3)
115allowCaptures = (bool)namedArgument.Value.Value!; 118allowGenericEnumeration = (bool)namedArgument.Value.Value!; 121allowLocks = (bool)namedArgument.Value.Value!;
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ITypeSymbolExtensions.cs (1)
204return !Equals(false, typedConstant.Value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\InterceptsLocationUtilities.cs (2)
49ConstructorArguments: [{ Value: int version }, { Value: string attributeData }]
Microsoft.CodeAnalysis.PublicApiAnalyzers (5)
DeclarePublicApiAnalyzer.Impl.cs (2)
611if (attribute.ConstructorArguments is not [{ Kind: TypedConstantKind.Primitive, Type.SpecialType: SpecialType.System_String, Value: string diagnosticId }]) 711attribute.ConstructorArguments[0].Value is INamedTypeSymbol forwardedType)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ITypeSymbolExtensions.cs (1)
204return !Equals(false, typedConstant.Value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\InterceptsLocationUtilities.cs (2)
49ConstructorArguments: [{ Value: int version }, { Value: string attributeData }]
Microsoft.CodeAnalysis.ResxSourceGenerator (3)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ITypeSymbolExtensions.cs (1)
204return !Equals(false, typedConstant.Value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\InterceptsLocationUtilities.cs (2)
49ConstructorArguments: [{ Value: int version }, { Value: string attributeData }]
Microsoft.CodeAnalysis.VisualBasic (1)
Symbols\TypedConstant.vb (1)
38Return "GetType(" & constant.Value.ToString() & ")"
Microsoft.CodeAnalysis.VisualBasic.CodeStyle.Fixes (3)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\ExpressionGenerator.vb (3)
21Return GenerateExpression(generator, typedConstant.Type, typedConstant.Value, canUseFieldReference:=True) 31If TypeOf typedConstant.Value IsNot ITypeSymbol Then 35Return SyntaxFactory.GetTypeExpression(DirectCast(typedConstant.Value, ITypeSymbol).GenerateTypeSyntax())
Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests (1)
Attributes\AttributeTests_Tuples.vb (1)
441Return DirectCast(constant.Value, String)
Microsoft.CodeAnalysis.VisualBasic.Symbol.UnitTests (4)
SymbolsTests\TypedConstantTests.vb (4)
34Assert.Equal(common.Value, lang.Value) 38Assert.Equal(common.Value, common2.Value)
Microsoft.CodeAnalysis.VisualBasic.Test.Utilities (4)
Extensions.vb (4)
183Return expected.Equals(arg.Value) 185Dim typeSym = TryCast(arg.Value, TypeSymbol) 215Return If(expected Is Nothing, arg.Value Is Nothing, expected.Equals(CType(arg.Value, T)))
Microsoft.CodeAnalysis.VisualBasic.Workspaces (3)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\ExpressionGenerator.vb (3)
21Return GenerateExpression(generator, typedConstant.Type, typedConstant.Value, canUseFieldReference:=True) 31If TypeOf typedConstant.Value IsNot ITypeSymbol Then 35Return SyntaxFactory.GetTypeExpression(DirectCast(typedConstant.Value, ITypeSymbol).GenerateTypeSyntax())
Microsoft.CodeAnalysis.Workspaces (5)
FindSymbols\FindReferences\DependentProjectsFinder.cs (1)
292typeNameConstant.Value is not string value)
Shared\Extensions\ISymbolExtensions.cs (2)
136attribute.ConstructorArguments is [{ Value: int value }]) 193var argumentValue = attribute.ConstructorArguments.First().Value;
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\InterceptsLocationUtilities.cs (2)
49ConstructorArguments: [{ Value: int version }, { Value: string attributeData }]
Microsoft.Extensions.Logging.Generators (1)
LoggerMessageGenerator.Parser.cs (1)
854private static object GetItem(TypedConstant arg) => arg.Kind == TypedConstantKind.Array ? arg.Values : arg.Value;
Microsoft.Extensions.Options.SourceGeneration (7)
Parser.cs (7)
368var transValidatorType = attribute.ConstructorArguments[0].Value as INamedTypeSymbol; 431var enumerationValidatorType = attribute.ConstructorArguments[0].Value as INamedTypeSymbol; 516validationAttr.ConstructorArguments.Add(GetArgumentExpression(argument.Type!, argument.Value)); 529validationAttr.Properties.Add(namedArgument.Key, GetArgumentExpression(namedArgument.Value.Type!, namedArgument.Value.Value)); 625trackedTypeList!.Add((modelType.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat), (string)attribute.ConstructorArguments[0].Value!)); 656argumentValue = attribute.ConstructorArguments[i].Value; 788sb.Append(GetArgumentExpression(value[i].Type!, value[i].Value));
Microsoft.Extensions.Validation.ValidationsGenerator (3)
Extensions\ISymbolExtensions.cs (1)
28return namedArgument.Value.Value?.ToString() ?? property.Name;
Extensions\ITypeSymbolExtensions.cs (1)
82var derivedType = (INamedTypeSymbol?)attribute.ConstructorArguments[0].Value;
src\Shared\RoslynUtils\SymbolExtensions.cs (1)
211argumentValue = (T?)routeParameterNameConstant.Value;
Microsoft.Gen.ComplianceReports (1)
Parser.cs (1)
268notes = namedArg.Value.Value?.ToString();
Microsoft.Gen.Logging (9)
Parsing\AttributeProcessors.cs (9)
45var v = a.Value; 53var v = a.Value; 61message = a.Value as string ?? string.Empty; 67var v = a.Value.Value; 136var v = a.Value.Value; 174var v = a.Value.Value; 187providerType = attr.ConstructorArguments[0].Value as ITypeSymbol; 188providerMethodName = attr.ConstructorArguments[1].Value as string; 194=> attr.ConstructorArguments[0].Value as string ?? string.Empty;
Microsoft.Gen.MetadataExtractor (8)
src\Generators\Microsoft.Gen.ComplianceReports\Parser.cs (1)
268notes = namedArg.Value.Value?.ToString();
src\Generators\Microsoft.Gen.Metrics\Parser.cs (7)
263var ctorArg0 = attributeData.ConstructorArguments[0].Value as string; 290metricNameFromAttribute = (arg.Value.Value ?? string.Empty).ToString().Replace("\\\\", "\\"); 312var value = item.Value?.ToString(); 613if (namedArgument is { Key: "Name", Value.Value: { } }) 615strongTypeAttributeParameters.MetricNameFromAttribute = namedArgument.Value.Value.ToString(); 619constructorArg.Value is not INamedTypeSymbol strongTypeSymbol) 662strongTypeAttributeParameters.StrongTypeObjectName = constructorArg.Value.ToString();
Microsoft.Gen.Metrics (7)
Parser.cs (7)
263var ctorArg0 = attributeData.ConstructorArguments[0].Value as string; 290metricNameFromAttribute = (arg.Value.Value ?? string.Empty).ToString().Replace("\\\\", "\\"); 312var value = item.Value?.ToString(); 613if (namedArgument is { Key: "Name", Value.Value: { } }) 615strongTypeAttributeParameters.MetricNameFromAttribute = namedArgument.Value.Value.ToString(); 619constructorArg.Value is not INamedTypeSymbol strongTypeSymbol) 662strongTypeAttributeParameters.StrongTypeObjectName = constructorArg.Value.ToString();
Microsoft.Gen.MetricsReports (7)
src\Generators\Microsoft.Gen.Metrics\Parser.cs (7)
263var ctorArg0 = attributeData.ConstructorArguments[0].Value as string; 290metricNameFromAttribute = (arg.Value.Value ?? string.Empty).ToString().Replace("\\\\", "\\"); 312var value = item.Value?.ToString(); 613if (namedArgument is { Key: "Name", Value.Value: { } }) 615strongTypeAttributeParameters.MetricNameFromAttribute = namedArgument.Value.Value.ToString(); 619constructorArg.Value is not INamedTypeSymbol strongTypeSymbol) 662strongTypeAttributeParameters.StrongTypeObjectName = constructorArg.Value.ToString();
Microsoft.Interop.ComInterfaceGenerator (17)
Analyzers\ConvertComImportToGeneratedComInterfaceAnalyzer.cs (1)
53|| interfaceTypeAttributeData is not { ConstructorArguments: [{ Value: (int)ComInterfaceType.InterfaceIsIUnknown }] })
Analyzers\GeneratedComInterfaceAttributeAnalyzer.cs (2)
63interfaceType = (ComInterfaceType)ctorArg0.Value; 67interfaceType = (ComInterfaceType)(short)ctorArg0.Value;
ComInterfaceInfo.cs (1)
373&& guidAttr.ConstructorArguments[0].Value is string guidStr
GeneratedComInterfaceAttributeData.cs (2)
71Options = (ComInterfaceOptions)options.Value 78ExceptionToUnmanagedMarshaller = (ITypeSymbol)exceptionToUnmanagedMarshaller.Value
VirtualMethodPointerStubGenerator.cs (1)
305ITypeSymbol callConvSymbol = (ITypeSymbol)callConv.Value!;
VtableIndexStubGenerator.cs (10)
140if (attrData.ConstructorArguments.Length == 0 || attrData.ConstructorArguments[0].Value is not int) 153if (directionValue.Value is not int) 158direction = (MarshalDirection)directionValue.Value!; 162if (implicitThisValue.Value is not bool) 166implicitThis = (bool)implicitThisValue.Value!; 172if (exceptionMarshallingValue.Value is not int) 177exceptionMarshalling = (ExceptionMarshalling)exceptionMarshallingValue.Value!; 181if (exceptionMarshallingCustomTypeValue.Value is not INamedTypeSymbol) 185exceptionMarshallingCustomType = (INamedTypeSymbol)exceptionMarshallingCustomTypeValue.Value; 188return new VirtualMethodIndexCompilationData((int)attrData.ConstructorArguments[0].Value).WithValuesFromNamedArguments(namedArguments) with
Microsoft.Interop.JavaScript.JSImportGenerator (3)
JSImportGenerator.cs (3)
143return new JSImportData(attrData.ConstructorArguments[0].Value!.ToString(), null); 147return new JSImportData(attrData.ConstructorArguments[0].Value!.ToString(), attrData.ConstructorArguments[1].Value!.ToString());
Microsoft.Interop.LibraryImportGenerator (10)
Analyzers\ConvertToLibraryImportAnalyzer.cs (2)
189return bestFitMappingContainingType.ConstructorArguments[0].Value is true; 195return bestFitMappingContainingAssembly.ConstructorArguments[0].Value is true;
Analyzers\CustomMarshallerAttributeFixer.cs (1)
184&& attr.ApplicationSyntaxReference.Span.Contains(locationInAttribute.SourceSpan)).ConstructorArguments[0].Value!;
Analyzers\ShapeBreakingDiagnosticSuppressor.cs (2)
64&& attr.ConstructorArguments[2].Value is INamedTypeSymbol marshallerTypeInAttribute 69return (containingType, (INamedTypeSymbol)attrData.ConstructorArguments[0].Value);
LibraryImportGenerator.cs (5)
133TypeOfExpression(((ITypeSymbol)callConv.Value!).AsTypeSyntax())); 154Literal((int)defaultDllImportSearchPathsAttribute.ConstructorArguments[0].Value!)))))); 205if (entryPointValue.Value is not string) 209entryPoint = (string)entryPointValue.Value!; 212return new LibraryImportCompilationData(attrData.ConstructorArguments[0].Value!.ToString())
Microsoft.Interop.LibraryImportGenerator.Downlevel (4)
DownlevelLibraryImportGenerator.cs (4)
100Literal((int)defaultDllImportSearchPathsAttribute.ConstructorArguments[0].Value!)))))); 147if (entryPointValue.Value is not string) 151entryPoint = (string)entryPointValue.Value!; 154return new LibraryImportCompilationData(attrData.ConstructorArguments[0].Value!.ToString())
Microsoft.Interop.SourceGeneration (21)
InteropAttributeData.cs (6)
65if (setLastErrorValue.Value is not bool) 69setLastError = (bool)setLastErrorValue.Value!; 75if (stringMarshallingValue.Value is not int) 80stringMarshalling = (StringMarshalling)stringMarshallingValue.Value!; 85if (stringMarshallingCustomTypeValue.Value is not INamedTypeSymbol) 89stringMarshallingCustomType = (INamedTypeSymbol)stringMarshallingCustomTypeValue.Value;
ManualTypeMarshallingHelper.cs (3)
182ITypeSymbol? managedTypeOnAttr = attr.ConstructorArguments[0].Value as ITypeSymbol; 204var marshalMode = (MarshalMode)attr.ConstructorArguments[1].Value!; 206ITypeSymbol? marshallerTypeOnAttr = attr.ConstructorArguments[2].Value as ITypeSymbol;
MarshalAsParser.cs (5)
139arraySizeInfo = arraySizeInfo with { ConstSize = (int)sizeConstArg.Value! }; 143if (!elementInfoProvider.TryGetInfoForParamIndex(attributeData, (short)sizeParamIndexArg.Value!, marshallingInfoCallback, out TypePositionInfo paramIndexInfo)) 145_diagnostics.ReportConfigurationNotSupported(attributeData, nameof(MarshalAsAttribute.SizeParamIndex), sizeParamIndexArg.Value.ToString()); 154object unmanagedTypeObj = attributeData.ConstructorArguments[0].Value!; 186elementUnmanagedType = (UnmanagedType)namedArg.Value.Value!;
MarshalUsingAttributeParser.cs (5)
46if (attributeData.ConstructorArguments[0].Value is not INamedTypeSymbol namedType) 68int elementIndirectionDepth = namedArgs.TryGetValue(ManualTypeMarshallingHelper.MarshalUsingProperties.ElementIndirectionDepth, out TypedConstant value) ? (int)value.Value! : 0; 80constSize = (int)arg.Value.Value!; 84if (arg.Value.Value is null) 89elementName = (string)arg.Value.Value!;
NativeMarshallingAttributeParser.cs (1)
31if (attributeData.ConstructorArguments[0].Value is not INamedTypeSymbol entryPointType)
TypeSymbolExtensions.cs (1)
141return attr.ConstructorArguments.Length == 1 && (LayoutKind)(int)attr.ConstructorArguments[0].Value! == LayoutKind.Auto;
Microsoft.Maui.Controls.BindingSourceGen (1)
ISymbolExtensions.cs (1)
58 return (attribute.ConstructorArguments.Length > 0 ? attribute.ConstructorArguments[0].Value as string : null) ?? defaultName;
Microsoft.Maui.Controls.SourceGen (4)
CodeBehindGenerator.cs (4)
217 var xmlnsDef = new XmlnsDefinitionAttribute(attr.ConstructorArguments[0].Value as string, attr.ConstructorArguments[1].Value as string); 220 xmlnsDef.AssemblyName = attr.NamedArguments[0].Value.Value as string; 232 if (attr.ConstructorArguments[0].Value is string assemblyName && new AssemblyName(assemblyName).Name == compilation.Assembly.Identity.Name)
Microsoft.ML.InternalCodeAnalyzer (1)
ContractsCheckNameofFixProvider.cs (1)
153var shortName = shortPair.Value.Value as string;
Mvc.Analyzers.Test (15)
CodeAnalysisExtensionsTest.cs (15)
63attributeData => Assert.Equal(201, attributeData.ConstructorArguments[0].Value)); 100attributeData => Assert.Equal(400, attributeData.ConstructorArguments[0].Value)); 137attributeData => Assert.Equal(400, attributeData.ConstructorArguments[0].Value)); 174attributeData => Assert.Equal(400, attributeData.ConstructorArguments[0].Value), 175attributeData => Assert.Equal(200, attributeData.ConstructorArguments[0].Value), 176attributeData => Assert.Equal(404, attributeData.ConstructorArguments[0].Value)); 219attributeData => Assert.Equal(400, attributeData.ConstructorArguments[0].Value)); 262attributeData => Assert.Equal(401, attributeData.ConstructorArguments[0].Value)); 318Assert.Equal(attributeData.ConstructorArguments[0].Value, compilation.GetSpecialType(SpecialType.System_Object)); 323Assert.Equal(attributeData.ConstructorArguments[0].Value, compilation.GetSpecialType(SpecialType.System_String)); 361Assert.Equal(attributeData.ConstructorArguments[0].Value, compilation.GetSpecialType(SpecialType.System_Int32)); 366Assert.Equal(attributeData.ConstructorArguments[0].Value, compilation.GetSpecialType(SpecialType.System_Object)); 371Assert.Equal(attributeData.ConstructorArguments[0].Value, compilation.GetSpecialType(SpecialType.System_String)); 409Assert.Equal(attributeData.ConstructorArguments[0].Value, compilation.GetSpecialType(SpecialType.System_Int32)); 447Assert.Equal(attributeData.ConstructorArguments[0].Value, compilation.GetSpecialType(SpecialType.System_Int32));
Roslyn.Diagnostics.Analyzers (5)
ImportingConstructorShouldBeObsolete.cs (2)
142if (!Equals(attributeData.ConstructorArguments[0].Value, "This exported object must be obtained through the MEF export provider.")) 149if (!Equals(attributeData.ConstructorArguments[1].Value, true))
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ITypeSymbolExtensions.cs (1)
204return !Equals(false, typedConstant.Value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\InterceptsLocationUtilities.cs (2)
49ConstructorArguments: [{ Value: int version }, { Value: string attributeData }]
Roslyn.Diagnostics.CSharp.Analyzers (3)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\AttributeGenerator.cs (1)
104if (existingSyntax?.ArgumentList != null && constant.Kind is not TypedConstantKind.Array && constant.Value is string stringValue)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\CodeGeneration\ExpressionGenerator.cs (2)
31return GenerateExpression(typedConstant.Type, typedConstant.Value, canUseFieldReference: true); 34return typedConstant.Value is ITypeSymbol typeSymbol
Roslyn.Diagnostics.VisualBasic.Analyzers (3)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\VisualBasic\CodeGeneration\ExpressionGenerator.vb (3)
21Return GenerateExpression(generator, typedConstant.Type, typedConstant.Value, canUseFieldReference:=True) 31If TypeOf typedConstant.Value IsNot ITypeSymbol Then 35Return SyntaxFactory.GetTypeExpression(DirectCast(typedConstant.Value, ITypeSymbol).GenerateTypeSyntax())
System.Private.CoreLib.Generators (3)
EventSourceGenerator.Parser.cs (1)
53string value = arg.Value.Value?.ToString();
IntrinsicsInSystemPrivateCoreLibAnalyzer.cs (2)
388if (attributeData.ConstructorArguments[0].Value is INamedTypeSymbol attributeTypeSymbol) 521if (attributeData.ConstructorArguments[0].Value is INamedTypeSymbol attributeTypeSymbol)
System.Text.Json.SourceGeneration (42)
JsonSourceGenerator.Parser.cs (42)
295defaults = (JsonSerializerDefaults)attributeData.ConstructorArguments[0].Value!; 303allowOutOfOrderMetadataProperties = (bool)namedArg.Value.Value!; 307allowTrailingCommas = (bool)namedArg.Value.Value!; 314var converterType = (ITypeSymbol?)element.Value; 325defaultBufferSize = (int)namedArg.Value.Value!; 329defaultIgnoreCondition = (JsonIgnoreCondition)namedArg.Value.Value!; 333dictionaryKeyPolicy = (JsonKnownNamingPolicy)namedArg.Value.Value!; 337respectNullableAnnotations = (bool)namedArg.Value.Value!; 341respectRequiredConstructorParameters = (bool)namedArg.Value.Value!; 345ignoreReadOnlyFields = (bool)namedArg.Value.Value!; 349ignoreReadOnlyProperties = (bool)namedArg.Value.Value!; 353includeFields = (bool)namedArg.Value.Value!; 357maxDepth = (int)namedArg.Value.Value!; 361newLine = (string)namedArg.Value.Value!; 365numberHandling = (JsonNumberHandling)namedArg.Value.Value!; 369preferredObjectCreationHandling = (JsonObjectCreationHandling)namedArg.Value.Value!; 373propertyNameCaseInsensitive = (bool)namedArg.Value.Value!; 377propertyNamingPolicy = (JsonKnownNamingPolicy)namedArg.Value.Value!; 381readCommentHandling = (JsonCommentHandling)namedArg.Value.Value!; 385referenceHandler = (JsonKnownReferenceHandler)namedArg.Value.Value!; 389unknownTypeHandling = (JsonUnknownTypeHandling)namedArg.Value.Value!; 393unmappedMemberHandling = (JsonUnmappedMemberHandling)namedArg.Value.Value!; 397useStringEnumConverter = (bool)namedArg.Value.Value!; 401writeIndented = (bool)namedArg.Value.Value!; 405indentCharacter = (char)namedArg.Value.Value!; 409indentSize = (int)namedArg.Value.Value!; 413generationMode = (JsonSourceGenerationMode)namedArg.Value.Value!; 417allowDuplicateProperties = (bool)namedArg.Value.Value!; 461var typeSymbol = (ITypeSymbol?)attributeData.ConstructorArguments[0].Value; 475typeInfoPropertyName = (string)namedArg.Value.Value!; 478generationMode = (JsonSourceGenerationMode)namedArg.Value.Value!; 711numberHandling = (JsonNumberHandling)attributeData.ConstructorArguments[0].Value!; 716unmappedMemberHandling = (JsonUnmappedMemberHandling)attributeData.ConstructorArguments[0].Value!; 721objectCreationHandling = (JsonObjectCreationHandling)attributeData.ConstructorArguments[0].Value!; 733var derivedType = (ITypeSymbol)attributeData.ConstructorArguments[0].Value!; 1288ignoreCondition = (JsonIgnoreCondition)namedArgs[0].Value.Value!; 1300numberHandling = (JsonNumberHandling)ctorArgs[0].Value!; 1306objectCreationHandling = (JsonObjectCreationHandling)ctorArgs[0].Value!; 1312jsonPropertyName = (string)ctorArgs[0].Value!; 1319order = (int)ctorArgs[0].Value!; 1583Debug.Assert(attributeData.ConstructorArguments.Length == 1 && attributeData.ConstructorArguments[0].Value is null or ITypeSymbol); 1584var converterType = (ITypeSymbol?)attributeData.ConstructorArguments[0].Value;
System.Text.RegularExpressions.Generator (6)
RegexGenerator.Parser.cs (6)
80string? pattern = items[0].Value as string; 86options = items[1].Value as int?; 89matchTimeout = items[2].Value as int?; 90cultureName = items[3].Value as string; 98matchTimeout = items[2].Value as int?; 102cultureName = items[2].Value as string;
Test.Utilities (3)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ITypeSymbolExtensions.cs (1)
204return !Equals(false, typedConstant.Value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\InterceptsLocationUtilities.cs (2)
49ConstructorArguments: [{ Value: int version }, { Value: string attributeData }]
Text.Analyzers (3)
src\RoslynAnalyzers\Utilities\Compiler\Extensions\ITypeSymbolExtensions.cs (1)
204return !Equals(false, typedConstant.Value);
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Utilities\InterceptsLocationUtilities.cs (2)
49ConstructorArguments: [{ Value: int version }, { Value: string attributeData }]