blob: b17a3e13943588ebc32455246e127e31d5092fa6 [file] [log] [blame]
// Copyright (c) 2022, 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.keepanno.annotations;
/**
* A binding of a keep item.
*
* <p>A binding allows referencing the exact instance of a match from a condition in other
* conditions and/or targets. It can also be used to reduce duplication of targets by sharing
* patterns.
*
* <p>See KeepTarget for documentation on specifying an item pattern.
*/
public @interface KeepBinding {
/** Name with which other bindings, conditions or targets can reference the bound item pattern. */
String bindingName();
String classFromBinding() default "";
String className() default "";
Class<?> classConstant() default Object.class;
String extendsClassName() default "";
Class<?> extendsClassConstant() default Object.class;
String methodName() default "";
String methodReturnType() default "";
String[] methodParameters() default {""};
String fieldName() default "";
String fieldType() default "";
}