- Timestamp:
- 08/09/10 12:50:32 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/generic-class-file/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
r12882 r12883 1147 1147 (defknown declare-field (t t t) t) 1148 1148 (defun declare-field (name descriptor) 1149 (if nil ;; *current-code-attribute* 1150 (let ((field (!make-field name descriptor 1151 :flags '(:final :static :private)))) 1152 (class-add-field *class-file* field)) 1153 (let ((field (make-field name (internal-field-ref descriptor)))) 1154 ;; final static <access-flags> 1155 (setf (field-access-flags field) 1156 (logior +field-flag-final+ +field-flag-static+ 1157 +field-access-private+)) 1158 (setf (field-name-index field) (pool-name (field-name field))) 1159 (setf (field-descriptor-index field) 1160 (pool-name (field-descriptor field))) 1161 (push field *fields*)))) 1149 (let ((field (!make-field name descriptor 1150 :flags '(:final :static :private)))) 1151 (class-add-field *class-file* field))) 1162 1152 1163 1153 (defknown sanitize (symbol) string) … … 7068 7058 (fixnump *source-line-number*)) 7069 7059 (pool-name "LineNumberTable")) ; Must be in pool! 7070 7060 (dolist (field (class-file-fields class-file)) 7061 (finalize-field field class-file)) 7062 7071 7063 (write-u4 #xCAFEBABE stream) 7072 7064 (write-u2 3 stream) … … 7080 7072 (write-u2 0 stream) 7081 7073 ;; fields count 7082 (write-u2 (length *fields*) stream)7074 (write-u2 (length (class-file-fields class-file)) stream) 7083 7075 ;; fields 7084 (dolist (field *fields*)7085 ( write-field field stream))7076 (dolist (field (class-file-fields class-file)) 7077 (!write-field field stream)) 7086 7078 ;; methods count 7087 7079 (write-u2 (1+ (length (abcl-class-file-methods class-file))) stream)
Note: See TracChangeset
for help on using the changeset viewer.