Chromium Code Reviews| Index: base/android/java/org/chromium/base/CalledByNativeUnchecked.java |
| diff --git a/base/android/java/org/chromium/base/CalledByNativeUnchecked.java b/base/android/java/org/chromium/base/CalledByNativeUnchecked.java |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..4de7673e99ba0f8867d4cf3d77d913b25d708444 |
| --- /dev/null |
| +++ b/base/android/java/org/chromium/base/CalledByNativeUnchecked.java |
| @@ -0,0 +1,22 @@ |
| +// Copyright (c) 2012 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; |
| + |
| +import java.lang.annotation.ElementType; |
| +import java.lang.annotation.Retention; |
| +import java.lang.annotation.RetentionPolicy; |
| +import java.lang.annotation.Target; |
| + |
| +// It only makes sense to use this annotation on methods that declare a throws... spec. |
| +// However, note that the exception received native side maybe an 'unchecked' (RuntimeExpception) |
| +// such as NPE, so the native code should differentiate these cases. |
|
Ryan Sleevi
2012/04/20 20:55:39
NPE?
Yaron
2012/04/23 22:21:29
Done.
|
| +// Usage of this should be very rare; where possible handle exceptions in the Java side and use a |
| +// return value to indicate success / failure. |
| + |
| +@Target(ElementType.METHOD) |
| +@Retention(RetentionPolicy.RUNTIME) |
| +public @interface CalledByNativeUnchecked { |
| + public String value() default ""; |
| +} |