constructor(loaderCompiler, normalizedName, type, state,
      name, referrerName, address) {
    this.promise = new Promise((res, rej) => {
      this.loaderCompiler = loaderCompiler;
      this.normalizedName = normalizedName;
      this.type = type;
      this.name_ = name;
      this.referrerName_ = referrerName;
      this.address = address;
      this.state_ = state || NOT_STARTED;
      this.error = null;
      this.result = null;
      this.metadata_ = {};
      this.dependencies = [];
      this.resolve = res;
      this.reject = rej;
    });
  }
@param {LoaderCompiler} loaderCompiler Callbacks for parsing/transforming.
@param {string} normalizedName The normalized name of this dependency.
@param {string} type Either 'script' or 'module'. This determinse how to
    parse the code.
@param {number} state