Changeset 770
- Timestamp:
- Apr 13, 2004, 12:15:43 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/ccl/examples/objc-runtime.lisp (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/examples/objc-runtime.lisp
r766 r770 1386 1386 (selector nil) 1387 1387 (argspecs nil) 1388 (resulttype nil)) 1388 (resulttype nil) 1389 (struct-return nil)) 1389 1390 (flet ((bad-selector (why) (error "Can't parse method selector ~s : ~a" 1390 1391 selector-arg why))) … … 1450 1451 (progn 1451 1452 (push name argspecs) 1453 (setq struct-return t) 1452 1454 (push :address argspecs) 1453 1455 (setq resulttype :void)) … … 1463 1465 `(:id :<sel> ,@(nreverse argtypes)) 1464 1466 resulttype)) 1465 (push (car argspecs) argtypes)))))) 1467 (push (car argspecs) argtypes)) 1468 struct-return)))) 1466 1469 1467 1470 (defun objc-method-definition-form (class-p selector-arg class-arg body env) … … 1471 1474 argspecs 1472 1475 body 1473 typestring) 1476 typestring 1477 struct-return) 1474 1478 (parse-objc-method selector-arg class-arg body) 1475 1479 (multiple-value-bind (body decls) (parse-body body env) … … 1483 1487 (self (intern "SELF")) 1484 1488 (_cmd (intern "_CMD")) 1485 (super (gensym "SUPER")) 1486 (params `(:id ,self :<sel> ,_cmd ,@argspecs))) 1489 (super (gensym "SUPER")) 1490 (params `(:id ,self :<sel> ,_cmd))) 1491 (when struct-return 1492 (setq params `(,(car argspecs) ,(cadr argspecs) ,@params)) 1493 (setq argspecs (cddr argspecs))) 1494 (setq params (nconc params argspecs)) 1487 1495 `(progn 1488 1496 (defcallback ,impname
Note:
See TracChangeset
for help on using the changeset viewer.
