public void TestTupleAttributes() { var comp = CreateCompilationWithMscorlib(s_tuplesTestSource, options: TestOptions.UnsafeReleaseDll, references: s_attributeRefs); TupleAttributeValidator.ValidateTupleAttributes(comp); }
internal static void ValidateTupleAttributes(CSharpCompilation comp) { var validator = new TupleAttributeValidator(comp); validator.ValidateAttributesOnNamedTypes(); validator.ValidateAttributesOnFields(); validator.ValidateAttributesOnMethods(); validator.ValidateAttributesOnProperties(); validator.ValidateAttributesOnEvents(); validator.ValidateAttributesOnDelegates(); }
public void TupleAttributeWithOnlyOneConstructor() { var comp = CreateCompilationWithMscorlib( s_tuplesTestSource + TestResources.NetFX.ValueTuple.tuplelib_cs + @" namespace System.Runtime.CompilerServices { /// <summary> /// Indicates that the use of <see cref=""System.ValueTuple""/> on a member is meant to be treated as a tuple with element names. /// </summary> [AttributeUsage(AttributeTargets.Field | AttributeTargets.Parameter | AttributeTargets.Property | AttributeTargets.ReturnValue | AttributeTargets.Class | AttributeTargets.Struct )] public sealed class TupleElementNamesAttribute : Attribute { public TupleElementNamesAttribute(string[] transformNames) { } } }", references: new[] { SystemCoreRef }, options: TestOptions.ReleaseDll); comp.VerifyDiagnostics(); TupleAttributeValidator.ValidateTupleAttributes(comp); }