anchor.diff:    var paramTearOff = pf;
   }
   ''');
  -    expect(
  -        _findIdentifier('methodTearOff').staticType.toString(), "<T>(int) → T");
  -    expect(
  -        _findIdentifier('staticTearOff').staticType.toString(), "<T>(T) → T");
  -    expect(_findIdentifier('staticFieldTearOff').staticType.toString(),
  -        "<T>(T) → T");
  -    expect(
  -        _findIdentifier('topFunTearOff').staticType.toString(), "<T>(T) → T");
  -    expect(
  -        _findIdentifier('topFieldTearOff').staticType.toString(), "<T>(T) → T");
  -    expect(_findIdentifier('localTearOff').staticType.toString(), "<T>(T) → T");
  -    expect(_findIdentifier('paramTearOff').staticType.toString(), "<T>(T) → T");
  +    _expectIdentifierType('methodTearOff', "<T>(int) → T");
  +    _expectIdentifierType('staticTearOff', "<T>(T) → T");
  +    _expectIdentifierType('staticFieldTearOff', "<T>(T) → T");
  +    _expectIdentifierType('topFunTearOff', "<T>(T) → T");
  +    _expectIdentifierType('topFieldTearOff', "<T>(T) → T");
  +    _expectIdentifierType('localTearOff', "<T>(T) → T");
  +    _expectIdentifierType('paramTearOff', "<T>(T) → T");
     }
   
     void test_genericMethod_then() {
  
positive.code: }
  ''';
      _resolveTestUnit(code);
      SimpleIdentifier identifier = _findIdentifier('foo');
      VariableDeclaration declaration =
          identifier.getAncestor((node) => node is VariableDeclaration);
      expect(declaration.initializer.staticType.name, 'int');
      expect(declaration.initializer.propagatedType, isNull);
    }
  
    void test_MethodInvocation_nameType_localVariable() {
  
negative.code: }
  ''';
      _resolveTestUnit(code);
      _expectInitializerType('foo', 'Future<String>', isNull);
    }
  
    void test_genericMethod_then_propagatedType() {
  