Attributes = function(element, attributesToCopy) {
      if (attributesToCopy) {
        var keys = Object.keys(attributesToCopy);
        var i, l, key;

        for (i = 0, l = keys.length; i < l; i++) {
          key = keys[i];
          this[key] = attributesToCopy[key];
        }
      } else {
        this.$attr = {};
      }

      this.$$element = element;
    }
@ngdoc method
@name  $compileProvider#debugInfoEnabled

@param {boolean=} enabled update the debugInfoEnabled state if provided, otherwise just return the
current debugInfoEnabled state
@returns {*} current value if used as getter or itself (chaining) if used as setter

@kind function

@description
Call this method to enable/disable various debug runtime information in the compiler such as adding
binding information and a reference to the current scope on to DOM elements.
If enabled, the compiler will add the following to DOM elements that have been bound to the scope
* `ng-binding` CSS class
* `$binding` data property containing an array of the binding expressions

You may want to disable this in production for a significant performance boost. See
{@link guide/production#disabling-debug-data Disabling Debug Data} for more.

The default value is true.