anchor.diff:  void f() {}
   ''');
   
  -    assertElement(findNode.simple('self.A.foo'), findElement.prefix('self'));
  -    assertElement(findNode.simple('A.foo'), findElement.class_('A'));
  -    assertElement(findNode.simple('foo]'), findElement.method('foo'));
  +    assertResolvedNodeText(findNode.commentReference('A.foo]'), r'''
  +CommentReference
  +  expression: PropertyAccess
  +    target: PrefixedIdentifier
  +      prefix: SimpleIdentifier
  +        token: self
  +        staticElement: self::@prefix::self
  +        staticType: null
  +      period: .
  +      identifier: SimpleIdentifier
  +        token: A
  +        staticElement: self::@class::A
  +        staticType: null
  +      staticElement: self::@class::A
  +      staticType: null
  +    operator: .
  +    propertyName: SimpleIdentifier
  +      token: foo
  +      staticElement: self::@class::A::@method::foo
  +      staticType: null
  +    staticType: null
  +''');
     }
   
     test_class_instanceSetter() async {
  
positive.code: void f() {}
  ''');
  
      assertElement(findNode.simple('self.E.foo'), findElement.prefix('self'));
      assertElement(findNode.simple('E.foo'), findElement.extension_('E'));
      assertElement(findNode.simple('foo]'), findElement.method('foo'));
    }
  
    test_extension_instanceSetter() async {
  
negative.code: void f() {}
  ''');
  
      assertResolvedNodeText(findNode.commentReference('foo]'), r'''
  CommentReference
    expression: SimpleIdentifier
      token: foo
      staticElement: self::@getter::foo
      staticType: null
  ''');
    }
  
    test_associatedSetterAndGetter_setterInScope() async {
  