blob: b4988371cf2d01dd26069adad8feb57ee4ec5ead [file] [log] [blame]
// Copyright (c) 2021, 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.graph;
/**
* A classpath or library definition that is guaranteed to be derived from the tracing of a program
* context.
*/
public class ClasspathOrLibraryContext implements ProgramDerivedContext {
private final Definition context;
private final ProgramDerivedContext programDerivedContext;
private ClasspathOrLibraryContext(
Definition context, ProgramDerivedContext programDerivedContext) {
this.context = context;
this.programDerivedContext = programDerivedContext;
}
public static ClasspathOrLibraryContext create(
ClasspathDefinition context, ProgramDerivedContext programDerivedContext) {
return new ClasspathOrLibraryContext(context, programDerivedContext);
}
public static ClasspathOrLibraryContext create(
LibraryDefinition context, ProgramDerivedContext programDerivedContext) {
return new ClasspathOrLibraryContext(context, programDerivedContext);
}
@Override
public Definition getContext() {
return context;
}
}