Ignore:
Timestamp:
01/09/12 22:55:37 (9 years ago)
Author:
astalla
Message:

Annotations in class-file:

  • support for enum-value elements;
  • rectified boolean valued elements (Z instead of B which is Byte)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/runtime-class.lisp

    r13727 r13739  
    22(require "JVM-CLASS-FILE")
    33
     4;;The package is set to :jvm for convenience, since most of the symbols used
     5;;here come from that package. However, the functions we're definining belong
     6;;to the :java package.
    47(in-package :jvm)
    58
     
    139142           (list "foo" :void '("java.lang.Object")
    140143                 (lambda (this that) (print (list this that)))
    141                  :annotations (list (make-annotation :type "java.lang.Deprecated")))
     144                 :annotations (list (make-annotation :type "java.lang.Deprecated")
     145                                    (make-annotation :type "java.lang.annotation.Retention"
     146                                                     :elements (list (make-annotation-element
     147                                                                      :value (make-enum-value-annotation-element-value
     148                                                                              :type "java.lang.annotation.RetentionPolicy"
     149                                                                              :name "RUNTIME"))))
     150                                    (make-annotation :type "javax.xml.bind.annotation.XmlAttribute"
     151                                                     :elements (list (make-annotation-element
     152                                                                      :name "required"
     153                                                                      :value (make-primitive-or-string-annotation-element-value :value t))))))
    142154           (list "bar" :int '("java.lang.Object")
    143155                 (lambda (this that) (print (list this that)) 23))))
Note: See TracChangeset for help on using the changeset viewer.