// Copyright (c) 2020, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

package com.android.tools.r8.ir.optimize.info.field;

import com.android.tools.r8.graph.DexEncodedField;

/**
 * Represents that no information is known about the way a constructor initializes the instance
 * fields of the newly created instance.
 */
public class EmptyInstanceFieldInitializationInfoCollection
    extends InstanceFieldInitializationInfoCollection {

  private static final EmptyInstanceFieldInitializationInfoCollection INSTANCE =
      new EmptyInstanceFieldInitializationInfoCollection();

  private EmptyInstanceFieldInitializationInfoCollection() {}

  public static EmptyInstanceFieldInitializationInfoCollection getInstance() {
    return INSTANCE;
  }

  @Override
  public InstanceFieldInitializationInfo get(DexEncodedField field) {
    return UnknownInstanceFieldInitializationInfo.getInstance();
  }

  @Override
  public boolean isEmpty() {
    return true;
  }
}
