static void TestGenericParameterFlowsToReturnValue() { _ = TypeRequiresPublicFields <TestType> .ReturnRequiresPublicFields(); _ = TypeRequiresPublicFields <TestType> .ReturnRequiresPublicMethods(); _ = TypeRequiresPublicFields <TestType> .ReturnRequiresNothing(); }
public static void Test() { TypeRequiresPublicFields <T> .Test(); TypeRequiresPublicMethods <T> .Test(); TypeRequiresNothing <T> .Test(); }
static void RequiresAndCallsOtherRequiresMethods <[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods)] TPublicMethods> () { // Normally this would warn, but with the attribute on this method it should be auto-suppressed RequiresUnreferencedCodeMethod(); // Normally this would warn due to incompatible annotations, but with the attribute on this method it should be auto-suppressed GetTypeWithPublicMethods().RequiresPublicFields(); TypeRequiresPublicFields <TPublicMethods> .Method(); MethodRequiresPublicFields <TPublicMethods> (); }
static void TestSingleGenericParameterOnType() { TypeRequiresNothing <TestType> .Test(); TypeRequiresPublicFields <TestType> .Test(); TypeRequiresPublicMethods <TestType> .Test(); TypeRequiresPublicFieldsPassThrough <TestType> .Test(); TypeRequiresNothingPassThrough <TestType> .Test(); }
static void TestRequiresAttributeWithDynamicallyAccessedMembersOnGenericsEnabled() { TypeRequiresPublicFields <TypeWithPublicFieldsForGenericType> .Method(); MethodRequiresPublicFields <TypeWithPublicFieldsForGenericMethod> (); }
static void TestGenericParameterFlowsToField() { TypeRequiresPublicFields <TestType> .TestFields(); }
public void PublicFieldsMethodLocalVariable() { TypeRequiresPublicFields <TOuter> t = null; }
public void PublicFieldsMethodParameter(TypeRequiresPublicFields <TOuter> param) { }