source: trunk/abcl/contrib/jss/jss.asd @ 14947

Last change on this file since 14947 was 14947, checked in by mevenson, 12 months ago

JSS syntax for fields (Alan Ruttenberg)

<thing> is either {<lisp expression>} or a class name or abbreviation that find-java-class can use

If <thing> is a lisp expression, then it is evaluated (in the lexical environment) and used as an instance
If <thing> is a class name the result of find-java-class is used and a static field access is done.

<field> is either {<lisp expression} or string

If <field> is a lisp expression it should evaluate to a string that names a field
If <field> is a string (no quotes) it is used as the field name

eg. #"foo.bar.baz" -> (get-java-field (find-java-class 'foo.bar) "baz" t)

#"{foo}.baz" -> (get-java-field (find-java-class foo) "baz" t)

From <https://github.com/armedbear/abcl/pull/25/commits/b94639b21843c439a5bf437661446c0b65a67791>.

File size: 1.2 KB
Line 
1(in-package :asdf)
2(asdf:defsystem :jss
3  :author "Alan Ruttenberg, Mark Evenson"
4  :version "3.2.2"
5  :description "<> asdf:defsystem <urn:abcl.org/release/1.5.0/contrib/jss#3.2.2>"
6  :components ((:module base :pathname "" :serial t
7                        :components ((:file "packages")
8                                     (:file "invoke")
9                                     (:file "collections")
10             (:file "optimize-java-call")
11                                     (:file "classpath")
12             (:file "transform-to-field")
13                                     (:file "compat")
14             )))
15;;  :defsystem-depends-on (:prove-asdf)
16;;  :in-order-to ((test-op (test-op jss/tests)))
17  )
18
19;; Until prove-asdf works
20(let ((where (merge-pathnames "jss-tests.lisp" (load-time-value *load-pathname*))))
21  (defun cl-user::test-jss()
22    (funcall (intern "QUICKLOAD" 'ql) :prove)
23    (funcall (intern "RUN" 'prove) where)))
24
25;; (asdf:defsystem :jss/tests
26;;   :depends-on (jss)
27;;   :components ((:module tests
28;;    :pathname ""
29;;    :components ((:test-file "jss-tests"))
30;;    ))
31;;   :perform (test-op :after (op c)
32;;                     (funcall (intern #.(string :run) :prove) c)))
33
34
35
36
37
38
39
40   
41
42
Note: See TracBrowser for help on using the repository browser.