Index: base/android/java/src/org/chromium/base/annotations/NoSideEffects.java |
diff --git a/base/android/java/src/org/chromium/base/annotations/NoSideEffects.java b/base/android/java/src/org/chromium/base/annotations/NoSideEffects.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..803c3f959638f09617af8961fbeb2d3aedffd39e |
--- /dev/null |
+++ b/base/android/java/src/org/chromium/base/annotations/NoSideEffects.java |
@@ -0,0 +1,17 @@ |
+// Copyright 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+package org.chromium.base.annotations; |
+ |
+import java.lang.annotation.ElementType; |
+import java.lang.annotation.Target; |
+ |
+/** |
+ * Annotation used to indicate to proguard methods that have no side effects and can be |
+ * safely removed if their return value is not used. This is to be used with |
+ * {@link org.chromium.base.Log}'s method, that can also be removed by proguard. That way |
+ * expensive calls can be left in debug builds but removed in release. |
+ */ |
+@Target({ElementType.METHOD, ElementType.CONSTRUCTOR}) |
+public @interface NoSideEffects {} |