1 // Copyright 2023 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 package org.jni_zero; 6 7 import java.lang.annotation.ElementType; 8 import java.lang.annotation.Retention; 9 import java.lang.annotation.RetentionPolicy; 10 import java.lang.annotation.Target; 11 12 /** 13 * Causes build to assert that annotated classes / methods / fields are optimized away in release 14 * builds (when using checkdiscard_proguard.flags). 15 */ 16 @Target({ElementType.CONSTRUCTOR, ElementType.FIELD, ElementType.METHOD, ElementType.TYPE}) 17 @Retention(RetentionPolicy.CLASS) 18 public @interface CheckDiscard { 19 /** 20 * Describes why the element should be discarded. 21 * 22 * @return reason for discarding (crbug links are preferred unless reason is trivial). 23 */ value()24 String value(); 25 } 26