blob: 158622fb2db9c3576ae10f92baad22bc1f26d1f5 (
plain)
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"]])
|