| /* | |
| * Copyright 2025 The Android Open Source Project | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software | |
| * distributed under the License is distributed on an "AS IS" BASIS, | |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| * See the License for the specific language governing permissions and | |
| * limitations under the License. | |
| */ | |
| // *********************************************************************************** | |
| // GENERATED FILE. DO NOT EDIT! See KeepItemAnnotationGenerator.java. | |
| // *********************************************************************************** | |
| // *********************************************************************************** | |
| // MAINTAINED AND TESTED IN THE R8 REPO. PLEASE MAKE CHANGES THERE AND REPLICATE. | |
| // *********************************************************************************** | |
| package androidx.annotation.keep | |
| /** | |
| * Indicates code which is accessed by references from outside of the application code directly, | |
| * such as via JNI, reflection, or instantiation from platform framework code. | |
| * | |
| * NOTE: This keep rule is unconditional, meaning that the annotated class, method, or field will | |
| * always be preserved in the final application even if, for example, the surrounding code is never | |
| * used. | |
| * | |
| * If reflection or JNI access occurs inside the application, instead prefer the | |
| * `@UsesReflection***` annotations, as they will keep conditionally, rather than unconditionally as | |
| * this annotation does. | |
| * | |
| * @see UsesReflectionToConstruct | |
| * @see UsesReflectionToAccessMethod | |
| * @see UsesReflectionToAccessField | |
| */ | |
| @Retention(AnnotationRetention.BINARY) | |
| @Target( | |
| AnnotationTarget.CLASS, | |
| AnnotationTarget.FIELD, | |
| AnnotationTarget.FUNCTION, | |
| AnnotationTarget.CONSTRUCTOR, | |
| AnnotationTarget.PROPERTY, | |
| AnnotationTarget.PROPERTY_GETTER, | |
| AnnotationTarget.PROPERTY_SETTER, | |
| ) | |
| public annotation class UnconditionallyKeep( | |
| /** | |
| * Should the name be preserved. | |
| * | |
| * Generally this is true if the reference is external, but this can be disabled if the name | |
| * isn't important. | |
| */ | |
| val shouldPreserveName: Boolean = true | |
| ) |