createProperty_(name, descr) {
    let expression;

    if (name.type === LITERAL_PROPERTY_NAME) {
      if (this.needsAdvancedTransform)
        expression = this.getPropertyName_(name);
      else
        expression = name;
    } else {
      expression = name.expression;
    }

    if (descr.get || descr.set) {
      let oldAccessor = this.findSeenAccessor_(name);
      if (oldAccessor) {
        oldAccessor.get = descr.get || oldAccessor.get;
        oldAccessor.set = descr.set || oldAccessor.set;
        this.removeSeenAccessor_(name);
        return null;
      } else {
        this.addSeenAccessor_(name, descr);
      }
    }
    return [expression, descr];
  }
Creates an intermediate data structure (Array) which is later used to
assemble the properties in the transformObjectLiteral.

@private
@param {ParseTree} name
@param {Object} descr Descriptor where get, set and value are parse
    trees.
@return {Array} This returns null when we are completing an existing
    accessor.