1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
; Copyright (c) Rich Hickey. All rights reserved.
; The use and distribution terms for this software are covered by the
; Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
; which can be found in the file epl-v10.html at the root of this distribution.
; By using this software in any fashion, you are agreeing to be bound by
; the terms of this license.
; You must not remove this notice, or any other, from this software.
(ns ^{:doc "Test classes that are AOT-compile for the tests in
clojure.test-clojure.genclass."
:author "Stuart Halloway, Daniel Solano Gómez"}
clojure.test-clojure.genclass.examples)
(definterface ExampleInterface
(foo [a])
(foo [a b])
(foo [a #^int b]))
(gen-class :name clojure.test_clojure.genclass.examples.ExampleClass
:implements [clojure.test_clojure.genclass.examples.ExampleInterface])
;; -foo-Object unimplemented to test missing fn case
(defn -foo-Object-Object
[_ o1 o2]
"foo with o, o")
(defn -foo-Object-int
[_ o i]
"foo with o, i")
(gen-class :name ^{Deprecated {}
SuppressWarnings ["Warning1"] ; discarded
java.lang.annotation.Target []}
clojure.test_clojure.genclass.examples.ExampleAnnotationClass
:prefix "annot-"
:methods [[^{Deprecated {}
Override {}} ;discarded
foo [^{java.lang.annotation.Retention java.lang.annotation.RetentionPolicy/SOURCE
java.lang.annotation.Target [java.lang.annotation.ElementType/TYPE
java.lang.annotation.ElementType/PARAMETER]}
String] void]])
(definterface ArrayDefInterface
; primitive array sugar
(^void takesByteArray [^bytes a])
(^void takesCharArray [^chars a])
(^void takesShortArray [^shorts a])
(^void takesIntArray [^ints a])
(^void takesLongArray [^longs a])
(^void takesFloatArray [^floats a])
(^void takesDoubleArray [^doubles a])
(^void takesBooleanArray [^booleans a])
; raw primitive arrays
(^"[B" returnsByteArray [])
(^"[C" returnsCharArray [])
(^"[I" returnsIntArray [])
(^"[S" returnsShortArray [])
(^"[J" returnsLongArray [])
(^"[F" returnsFloatArray [])
(^"[D" returnsDoubleArray [])
(^"[Z" returnsBooleanArray []))
(definterface UsesPreviousInterfaceFromThisFile
(^clojure.test-clojure.genclass.examples.ArrayDefInterface
identity
[^clojure.test-clojure.genclass.examples.ArrayDefInterface a]))
(gen-interface
:name clojure.test_clojure.genclass.examples.ArrayGenInterface
:methods [; sugar
[takesByteArray [bytes] void]
[takesCharArray [chars] void]
[takesShortArray [shorts] void]
[takesIntArray [ints] void]
[takesLongArray [longs] void]
[takesFloatArray [floats] void]
[takesDoubleArray [doubles] void]
[takesBooleanArray [booleans] void]
; raw primitive types
[returnsByteArray [] "[B"]
[returnsCharArray [] "[C"]
[returnsShortArray [] "[S"]
[returnsIntArray [] "[I"]
[returnsLongArray [] "[J"]
[returnsFloatArray [] "[F"]
[returnsDoubleArray [] "[D"]
[returnsBooleanArray [] "[Z"]])
|