Changeset 12084


Ignore:
Timestamp:
08/08/09 14:15:32 (14 years ago)
Author:
ehuelsmann
Message:

Declaration (processing) fixes.

jvm.lisp (process-ignore/ignorable): Don't process function-binding

declarations as if they were variables.

clos.lisp: declare CALL-NEXT-METHOD and NEXT-METHOD-P as ignorable

function bindings (instead of variables).

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

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/clos.lisp

    r12072 r12084  
    15871587                       (next-method-p ()
    15881588                         (not (null next-emfun))))
    1589                   (declare (ignorable call-next-method next-method-p))
     1589                  (declare (ignorable (function call-next-method)
     1590                                      (function next-method-p)))
    15901591                  (apply #'(lambda ,lambda-list ,@declarations ,@body) args))))
    15911592            ((null (intersection lambda-list '(&rest &optional &key &allow-other-keys &aux)))
  • trunk/abcl/src/org/armedbear/lisp/jvm.lisp

    r12040 r12084  
    480480    (let ((what (if (eq declaration 'IGNORE) "ignored" "ignorable")))
    481481      (dolist (name names)
    482         (let ((variable (find-variable name variables)))
    483           (cond ((null variable)
    484                  (compiler-style-warn "Declaring unknown variable ~S to be ~A."
    485                                       name what))
    486                 ((variable-special-p variable)
    487                  (compiler-style-warn "Declaring special variable ~S to be ~A."
    488                                       name what))
    489                 ((eq declaration 'IGNORE)
    490                  (setf (variable-ignore-p variable) t))
    491                 (t
    492                  (setf (variable-ignorable-p variable) t))))))))
     482        (unless (and (consp name) (eq (car name) 'FUNCTION))
     483          (let ((variable (find-variable name variables)))
     484            (cond ((null variable)
     485                   (compiler-style-warn "Declaring unknown variable ~S to be ~A."
     486                                        name what))
     487                  ((variable-special-p variable)
     488                   (compiler-style-warn "Declaring special variable ~S to be ~A."
     489                                        name what))
     490                  ((eq declaration 'IGNORE)
     491                   (setf (variable-ignore-p variable) t))
     492                  (t
     493                   (setf (variable-ignorable-p variable) t)))))))))
    493494
    494495(defun finalize-generic-functions ()
Note: See TracChangeset for help on using the changeset viewer.