Changeset 14698
- Timestamp:
- 04/27/14 14:12:38 (9 years ago)
- Location:
- branches/1.3.1
- Files:
-
- 3 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/1.3.1/abcl.asd
r14430 r14698 18 18 ;;; could be possibly be done at finer granularity in the files 19 19 ;;; themselves. 20 (defsystem :abcl-test-lisp :version "1. 2" :components20 (defsystem :abcl-test-lisp :version "1.3.0" :components 21 21 ((:module abcl-rt 22 22 :pathname "test/lisp/abcl/" :serial t :components … … 60 60 #+abcl 61 61 (:file "zip") 62 #+abcl 63 (:file "java") 62 64 #+abcl 63 65 (:file "pathname-tests" :depends-on -
branches/1.3.1/src/org/armedbear/lisp/Java.java
r14688 r14698 458 458 error(new LispError("no such method")); 459 459 } 460 } else 460 } else { 461 461 type_error(methodRef, Symbol.STRING); 462 } 462 463 Object[] methodArgs = new Object[args.length-2]; 463 464 Class[] argTypes = m.getParameterTypes(); 464 465 for (int i = 2; i < args.length; i++) { 465 466 LispObject arg = args[i]; 466 if (arg == NIL) 467 methodArgs[i-2] = null; 468 else 469 methodArgs[i-2] = arg.javaInstance(argTypes[i-2]); 467 if (arg.equals(NIL)) { 468 methodArgs[i-2] = false; 469 } else if (arg.equals(T)) { 470 methodArgs[i-2] = true; 471 } else { 472 methodArgs[i-2] = arg.javaInstance(argTypes[i-2]); 473 } 470 474 } 471 475 m.setAccessible(true); … … 563 567 for (int i = 1; i < args.length; i++) { 564 568 LispObject arg = args[i]; 565 if (arg == NIL) 566 initargs[i-1] = null; 567 else { 568 initargs[i-1] = arg.javaInstance(argTypes[i-1]); 569 if (arg.equals(NIL)) { 570 initargs[i-1] = false ; 571 } else if (arg.equals(T)) { 572 initargs[i-1] = true; 573 } else { 574 initargs[i-1] = arg.javaInstance(argTypes[i-1]); 569 575 } 570 576 } … … 879 885 methodArgs = new Object[argTypes.length]; 880 886 for (int i = 2; i < args.length; i++) { 881 LispObject arg = args[i]; 882 if (arg == NIL) 883 methodArgs[i-2] = null; 884 else 885 methodArgs[i-2] = arg.javaInstance(argTypes[i-2]); 887 LispObject arg = args[i]; 888 if (arg.equals(NIL)) { 889 methodArgs[i-2] = false; 890 } else if (arg.equals(T)) { 891 methodArgs[i-2] = true; 892 } else { 893 methodArgs[i-2] = arg.javaInstance(argTypes[i-2]); 894 } 886 895 } 887 896 if (!method.isAccessible()) { … … 924 933 Object[] javaArgs = new Object[argCount]; 925 934 for (int i = 0; i < argCount; ++i) { 926 Object x = args[i + offs]; 927 if (x == NIL) { 928 javaArgs[i] = null; 929 } else { 930 javaArgs[i] = ((LispObject) x).javaInstance(); 931 } 935 Object x = args[i + offs]; 936 if (x.equals(NIL)) { 937 javaArgs[i] = false; 938 } else if (x.equals(T)) { 939 javaArgs[i] = true; 940 } else { 941 javaArgs[i] = ((LispObject) x).javaInstance(); 942 } 932 943 } 933 944 return javaArgs; -
branches/1.3.1/test/lisp/abcl/java-tests.lisp
r14688 r14698 447 447 ;;#+allegro 448 448 ;;(jlinker-end) 449
Note: See TracChangeset
for help on using the changeset viewer.