summaryrefslogtreecommitdiff
path: root/Examples/java/constants/example.i
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/java/constants/example.i')
-rw-r--r--Examples/java/constants/example.i30
1 files changed, 30 insertions, 0 deletions
diff --git a/Examples/java/constants/example.i b/Examples/java/constants/example.i
new file mode 100644
index 0000000..76665fc
--- /dev/null
+++ b/Examples/java/constants/example.i
@@ -0,0 +1,30 @@
+/* File : example.i */
+%module example
+
+/* Force the generated Java code to use the C constant values rather than making a JNI call */
+%javaconst(1);
+
+/* A few preprocessor macros */
+
+#define ICONST 42
+#define FCONST 2.1828
+#define CCONST 'x'
+#define CCONST2 '\n'
+#define SCONST "Hello World"
+#define SCONST2 "\"Hello World\""
+
+/* This should work just fine */
+#define EXPR ICONST + 3*(FCONST)
+
+/* This shouldn't do anything */
+#define EXTERN extern
+
+/* Neither should this (BAR isn't defined) */
+#define FOO (ICONST + BAR)
+
+/* The following directives also produce constants */
+
+%constant int iconst = 37;
+%constant double fconst = 3.14;
+
+