cmp: refactor: be explicit on declaring specials.

Remove unnecessary abstraction for that.
This commit is contained in:
Daniel Kochmanski 2017-04-28 11:43:09 +02:00
parent 3f1a8c31b4
commit a22424c3db
4 changed files with 4 additions and 7 deletions

View file

@ -73,7 +73,7 @@
(let ((*cmp-env* new-env))
(multiple-value-bind (body ss ts is other-decl)
(c1body (rest args) t)
(c1declare-specials ss)
(mapc #'cmp-env-declare-special ss)
(check-vdecl nil ts is)
(setq body-c1form (c1decl-body other-decl body))))
@ -234,7 +234,7 @@
(c1body args t)
(if (or ss ts is other-decl)
(let ((*cmp-env* (cmp-env-copy)))
(c1declare-specials ss)
(mapc #'cmp-env-declare-special ss)
(check-vdecl nil ts is)
(c1decl-body other-decl body))
(c1progn body))))

View file

@ -123,7 +123,7 @@
(when (eq let/let* 'LET)
(mapc #'push-vars vars))
(check-vdecl (mapcar #'var-name vars) types ignoreds)
(c1declare-specials specials)
(mapc #'cmp-env-declare-special specials)
(values vars forms (c1decl-body other-decls body)))))
(defun c1let-optimize-read-only-vars (all-vars all-forms body)

View file

@ -230,7 +230,7 @@
,@args)))
(multiple-value-bind (body ss ts is other-decls)
(c1body args nil)
(c1declare-specials ss)
(mapc #'cmp-env-declare-special ss)
(let* ((vars (loop for name in variables
collect (c1make-var name ss is ts))))
(setq init-form (c1expr init-form))

View file

@ -343,9 +343,6 @@
(push name *undefined-vars*)))
var))
(defun c1declare-specials (globals)
(mapc #'cmp-env-declare-special globals))
(defun si::register-global (name)
(pushnew name *global-vars*)
(values))