| // 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.keepanno.annotations.KeepForApi; |
| import com.android.tools.r8.origin.Origin; |
| * Base interface for application resources. |
| * <p>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. |
| * <p>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. |