summaryrefslogtreecommitdiffstats
path: root/build/annotationProcessors/AnnotationInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'build/annotationProcessors/AnnotationInfo.java')
-rw-r--r--build/annotationProcessors/AnnotationInfo.java54
1 files changed, 54 insertions, 0 deletions
diff --git a/build/annotationProcessors/AnnotationInfo.java b/build/annotationProcessors/AnnotationInfo.java
new file mode 100644
index 000000000..a8dbc53ce
--- /dev/null
+++ b/build/annotationProcessors/AnnotationInfo.java
@@ -0,0 +1,54 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+package org.mozilla.gecko.annotationProcessors;
+
+/**
+ * Object holding annotation data. Used by GeneratableElementIterator.
+ */
+public class AnnotationInfo {
+ public enum ExceptionMode {
+ ABORT,
+ NSRESULT,
+ IGNORE;
+
+ String nativeValue() {
+ return "mozilla::jni::ExceptionMode::" + name();
+ }
+ }
+
+ public enum CallingThread {
+ GECKO,
+ UI,
+ ANY;
+
+ String nativeValue() {
+ return "mozilla::jni::CallingThread::" + name();
+ }
+ }
+
+ public enum DispatchTarget {
+ GECKO,
+ PROXY,
+ CURRENT;
+
+ String nativeValue() {
+ return "mozilla::jni::DispatchTarget::" + name();
+ }
+ }
+
+ public final String wrapperName;
+ public final ExceptionMode exceptionMode;
+ public final CallingThread callingThread;
+ public final DispatchTarget dispatchTarget;
+
+ public AnnotationInfo(String wrapperName, ExceptionMode exceptionMode,
+ CallingThread callingThread, DispatchTarget dispatchTarget) {
+
+ this.wrapperName = wrapperName;
+ this.exceptionMode = exceptionMode;
+ this.callingThread = callingThread;
+ this.dispatchTarget = dispatchTarget;
+ }
+}