anchor.diff:      ]);
     }
   
  +  test_annotation_references_static_method_in_class_from_type_parameter() async {
  +    // It is allowed for an annotation of a class type parameter to refer to
  +    // a method in a class (note: this doesn't match the spec but we currently
  +    // test it to make sure we match CFE behavior - see
  +    // https://github.com/dart-lang/language/issues/1790)
  +    await assertNoErrorsInCode('''
  +class C<@Annotation(foo) T> {
  +  static void foo() {}
  +}
  +class Annotation {
  +  const Annotation(dynamic d);
  +}
  +''');
  +  }
  +
     test_annotation_references_static_method_in_extension() async {
       await assertErrorsInCode('''
   @Annotation(foo)
  
positive.code:     ]);
    }
  
    test_annotation_references_static_method_in_mixin() async {
      await assertErrorsInCode('''
  @Annotation(foo)
  
negative.code:       error(CompileTimeErrorCode.UNDEFINED_IDENTIFIER, 12, 3),
        error(CompileTimeErrorCode.CONST_WITH_NON_CONSTANT_ARGUMENT, 12, 3),
      ]);
    }
  
    test_annotation_references_static_method_in_mixin_from_type_parameter() async {
      // It is allowed for an annotation of a mixin type parameter to refer to
      // a method in a class (note: this doesn't match the spec but we currently
      // test it to make sure we match CFE behavior - see
      // https://github.com/dart-lang/language/issues/1790)
      await assertNoErrorsInCode('''
  mixin M<@Annotation(foo) T> {
    static void foo() {}
  }
  class Annotation {
    const Annotation(dynamic d);
  }
  ''');
    }
  
    @failingTest
  