Changeset 13485 for trunk/abcl/src/org


Ignore:
Timestamp:
08/13/11 09:13:53 (10 years ago)
Author:
ehuelsmann
Message:

Remove two structure slots which are read only once, in favor of
passing in the right values to the reading function.

Location:
trunk/abcl/src/org/armedbear/lisp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp

    r13484 r13485  
    938938  (emit-constructor-lambda-list object))
    939939
    940 (defun make-constructor (class)
     940(defun make-constructor (class lambda-name args)
    941941  (let* ((*compiler-debug* nil)
    942942         (method (make-jvm-method :constructor :void nil
     
    944944         ;; We don't normally need to see debugging output for constructors.
    945945         (super (class-file-superclass class))
    946          (lambda-name (abcl-class-file-lambda-name class))
    947          (args (abcl-class-file-lambda-list class))
    948946         req-params-register
    949947         opt-params-register
     
    40374035  (let* ((pathname (funcall *pathnames-generator*))
    40384036         (class-file (make-abcl-class-file
    4039                       :pathname pathname
    4040                       :lambda-list
    4041                       (cadr (compiland-lambda-expression compiland)))))
     4037                      :pathname pathname)))
    40424038    (setf (compiland-class-file compiland) class-file)
    40434039    (with-open-stream (f (or stream
     
    71257121    (class-add-method class-file method)
    71267122
    7127     (setf (abcl-class-file-lambda-list class-file) args)
    71287123    (setf (abcl-class-file-superclass class-file)
    71297124          (if (or *hairy-arglist-p*
     
    71327127              +lisp-compiled-primitive+))
    71337128
    7134     (let ((constructor (make-constructor class-file)))
     7129    (let ((constructor
     7130           (make-constructor class-file (compiland-name compiland) args)))
    71357131      (setf (abcl-class-file-constructor class-file) constructor)
    71367132      (class-add-method class-file constructor))
     
    73877383  (aver (eq (car form) 'LAMBDA))
    73887384  (catch 'compile-defun-abort
    7389     (let* ((class-file (make-abcl-class-file :pathname filespec
    7390                                              :lambda-name name
    7391                                              :lambda-list (cadr form)))
     7385    (let* ((class-file (make-abcl-class-file :pathname filespec))
    73927386           (*compiler-error-bailout*
    73937387            `(lambda ()
     
    73967390                                :lambda-expression (make-compiler-error-form ',form)
    73977391                                :class-file
    7398                                 (make-abcl-class-file :pathname ,filespec
    7399                                                       :lambda-name ',name
    7400                                                       :lambda-list (cadr ',form)))
     7392                                (make-abcl-class-file :pathname ,filespec))
    74017393                ,stream)))
    74027394           (*compile-file-environment* environment))
  • trunk/abcl/src/org/armedbear/lisp/jvm.lisp

    r13484 r13485  
    131131  pathname ; pathname of output file
    132132  class-name
    133   lambda-name
    134   lambda-list ; as advertised
    135133  static-initializer
    136134  constructor
     
    161159                                                      "java.util.UUID"))))))
    162160
    163 (defun make-abcl-class-file (&key pathname lambda-name lambda-list)
     161(defun make-abcl-class-file (&key pathname)
    164162  "Creates a `class-file' structure. If `pathname' is non-NIL, it's
    165163used to derive a class name. If it is NIL, a random one created
     
    171169                                            :class class-name ; to be finalized
    172170                                            :class-name class-name
    173                                             :lambda-name lambda-name
    174                                             :lambda-list lambda-list
    175171                                            :access-flags '(:public :final))))
    176172    (when *file-compilation*
Note: See TracChangeset for help on using the changeset viewer.