anchor.diff:  void f() {}
   ''');
   
  -    assertElement(findNode.simple('E.foo'), findElement.extension_('E'));
  -    assertElement(findNode.simple('foo]'), findElement.setter('foo'));
  +    assertResolvedNodeText(findNode.commentReference('E.foo]'), r'''
  +CommentReference
  +  expression: PrefixedIdentifier
  +    prefix: SimpleIdentifier
  +      token: E
  +      staticElement: self::@extension::E
  +      staticType: null
  +    period: .
  +    identifier: SimpleIdentifier
  +      token: foo
  +      staticElement: self::@extension::E::@setter::foo
  +      staticType: null
  +    staticElement: self::@extension::E::@setter::foo
  +    staticType: null
  +''');
     }
   }
   
  
positive.code: 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'));
    }
  
    test_class_staticSetter() async {
  
negative.code: void f() {}
  ''');
  
      assertResolvedNodeText(findNode.commentReference('A.new]'), 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: new
        staticElement: self::@class::A::@constructor::•
        staticType: null
      staticType: null
  ''');
    }
  
    test_class_instanceGetter() async {
  