anchor.diff:              typeName = element.parameters.first.type?.name;
             }
             _addPropertyBindingTo(
  -              isField ? _fieldInputs : _setterInputs, annotation, element);
  +              isField ? _fieldInputs : _setterInputs, annotation, element,
  +              immutableBindings: _inputs);
             if (typeName != null) {
               _inputTypes[element.displayName] = typeName;
             }
  
positive.code: 
      // Collect metadata from field and property accessor annotations.
      super.visitClassElement(element);
    }
  
    CompileDirectiveMetadata _createCompileDirectiveMetadata(
  
negative.code:     extends RecursiveElementVisitor<CompileDirectiveMetadata> {
    final _fieldInputs = <String, String>{};
    final _setterInputs = <String, String>{};
    final _inputs = <String, String>{};
    final _inputTypes = <String, String>{};
    final _outputs = <String, String>{};
    final _hostAttributes = <String, String>{};
  