// Copyright (c) 2017, 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;

import com.android.tools.r8.origin.Origin;

/**
 * Base interface for application resources.
 *
 * Resources are inputs to the compilation that are provided from outside sources, e.g., the
 * command-line interface or API clients such as gradle. Each resource has an associated
 * {@link Origin} which is some opaque description of where the resource comes from. The D8/R8
 * compiler does not assume any particular structure of origin and does not rely on it for
 * compilation. The origin will be provided to diagnostics handlers so that they may detail what
 * resource was cause of some particular error.
 *
 * The D8/R8 compilers uses default implementations for various file-system resources, but the
 * client is free to provide their own.
 */
public interface Resource {

  /**
   * Get the origin of the resource.
   *
   * The origin is a description of where the resource originates from. The client is free to define
   * what that means for a particular resource.
   */
  Origin getOrigin();

}
