blob: 6ae281b14319093fd34643ebc2947c4951a01116 [file]
// Copyright (c) 2023, 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.
// ***********************************************************************************
// GENERATED FILE. DO NOT EDIT! See KeepItemAnnotationGenerator.java.
// ***********************************************************************************
package com.android.tools.r8.keepanno.ast;
/**
* Utility class for referencing the various keep annotations and their structure.
*
* <p>Use of these references avoids polluting the Java namespace with imports of the java
* annotations which overlap in name with the actual semantic AST types.
*/
public final class AnnotationConstants {
public static final class Edge {
public static final String SIMPLE_NAME = "KeepEdge";
public static final String DESCRIPTOR = "Lcom/android/tools/r8/keepanno/annotations/KeepEdge;";
public static final String description = "description";
public static final String bindings = "bindings";
public static final String preconditions = "preconditions";
public static final String consequences = "consequences";
}
public static final class ForApi {
public static final String SIMPLE_NAME = "KeepForApi";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/KeepForApi;";
public static final String description = "description";
public static final String additionalTargets = "additionalTargets";
public static final String memberAccess = "memberAccess";
}
public static final class UsesReflection {
public static final String SIMPLE_NAME = "UsesReflection";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/UsesReflection;";
public static final String description = "description";
public static final String value = "value";
public static final String additionalPreconditions = "additionalPreconditions";
}
public static final class UsedByReflection {
public static final String SIMPLE_NAME = "UsedByReflection";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/UsedByReflection;";
public static final String description = "description";
public static final String preconditions = "preconditions";
public static final String additionalTargets = "additionalTargets";
}
public static final class UsedByNative {
public static final String SIMPLE_NAME = "UsedByNative";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/UsedByNative;";
// Content is the same as UsedByReflection.
}
public static final class CheckRemoved {
public static final String SIMPLE_NAME = "CheckRemoved";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/CheckRemoved;";
}
public static final class CheckOptimizedOut {
public static final String SIMPLE_NAME = "CheckOptimizedOut";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/CheckOptimizedOut;";
}
/** Item properties common to binding items, conditions and targets. */
public static final class Item {
public static final String classFromBinding = "classFromBinding";
public static final String memberFromBinding = "memberFromBinding";
public static final String className = "className";
public static final String classConstant = "classConstant";
public static final String instanceOfClassName = "instanceOfClassName";
public static final String instanceOfClassNameExclusive = "instanceOfClassNameExclusive";
public static final String instanceOfClassConstant = "instanceOfClassConstant";
public static final String instanceOfClassConstantExclusive =
"instanceOfClassConstantExclusive";
public static final String extendsClassName = "extendsClassName";
public static final String extendsClassConstant = "extendsClassConstant";
public static final String memberAccess = "memberAccess";
public static final String methodAccess = "methodAccess";
public static final String methodName = "methodName";
public static final String methodReturnType = "methodReturnType";
public static final String methodParameters = "methodParameters";
public static final String fieldAccess = "fieldAccess";
public static final String fieldName = "fieldName";
public static final String fieldType = "fieldType";
}
public static final class Binding {
public static final String SIMPLE_NAME = "KeepBinding";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/KeepBinding;";
public static final String bindingName = "bindingName";
}
public static final class Condition {
public static final String SIMPLE_NAME = "KeepCondition";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/KeepCondition;";
}
public static final class Target {
public static final String SIMPLE_NAME = "KeepTarget";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/KeepTarget;";
public static final String kind = "kind";
public static final String constraints = "constraints";
public static final String allow = "allow";
public static final String disallow = "disallow";
}
public static final class Kind {
public static final String SIMPLE_NAME = "KeepItemKind";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/KeepItemKind;";
public static final String ONLY_CLASS = "ONLY_CLASS";
public static final String ONLY_MEMBERS = "ONLY_MEMBERS";
public static final String ONLY_METHODS = "ONLY_METHODS";
public static final String ONLY_FIELDS = "ONLY_FIELDS";
public static final String CLASS_AND_MEMBERS = "CLASS_AND_MEMBERS";
public static final String CLASS_AND_METHODS = "CLASS_AND_METHODS";
public static final String CLASS_AND_FIELDS = "CLASS_AND_FIELDS";
}
public static final class Constraints {
public static final String SIMPLE_NAME = "KeepConstraint";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/KeepConstraint;";
public static final String LOOKUP = "LOOKUP";
public static final String NAME = "NAME";
public static final String VISIBILITY_RELAX = "VISIBILITY_RELAX";
public static final String VISIBILITY_RESTRICT = "VISIBILITY_RESTRICT";
public static final String CLASS_INSTANTIATE = "CLASS_INSTANTIATE";
public static final String METHOD_INVOKE = "METHOD_INVOKE";
public static final String FIELD_GET = "FIELD_GET";
public static final String FIELD_SET = "FIELD_SET";
public static final String METHOD_REPLACE = "METHOD_REPLACE";
public static final String FIELD_REPLACE = "FIELD_REPLACE";
public static final String NEVER_INLINE = "NEVER_INLINE";
public static final String CLASS_OPEN_HIERARCHY = "CLASS_OPEN_HIERARCHY";
public static final String ANNOTATIONS = "ANNOTATIONS";
}
public static final class Option {
public static final String SIMPLE_NAME = "KeepOption";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/KeepOption;";
public static final String SHRINKING = "SHRINKING";
public static final String OPTIMIZATION = "OPTIMIZATION";
public static final String OBFUSCATION = "OBFUSCATION";
public static final String ACCESS_MODIFICATION = "ACCESS_MODIFICATION";
public static final String ANNOTATION_REMOVAL = "ANNOTATION_REMOVAL";
}
public static final class MemberAccess {
public static final String SIMPLE_NAME = "MemberAccessFlags";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/MemberAccessFlags;";
public static final String NEGATION_PREFIX = "NON_";
public static final String PUBLIC = "PUBLIC";
public static final String PROTECTED = "PROTECTED";
public static final String PACKAGE_PRIVATE = "PACKAGE_PRIVATE";
public static final String PRIVATE = "PRIVATE";
public static final String STATIC = "STATIC";
public static final String FINAL = "FINAL";
public static final String SYNTHETIC = "SYNTHETIC";
}
public static final class MethodAccess {
public static final String SIMPLE_NAME = "MethodAccessFlags";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/MethodAccessFlags;";
public static final String SYNCHRONIZED = "SYNCHRONIZED";
public static final String BRIDGE = "BRIDGE";
public static final String NATIVE = "NATIVE";
public static final String ABSTRACT = "ABSTRACT";
public static final String STRICT_FP = "STRICT_FP";
}
public static final class FieldAccess {
public static final String SIMPLE_NAME = "FieldAccessFlags";
public static final String DESCRIPTOR =
"Lcom/android/tools/r8/keepanno/annotations/FieldAccessFlags;";
public static final String VOLATILE = "VOLATILE";
public static final String TRANSIENT = "TRANSIENT";
}
}