Changeset 13885
- Timestamp:
- 02/29/12 22:35:41 (11 years ago)
- Location:
- trunk/abcl/src/org/armedbear/lisp
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/ArgumentListProcessor.java
r13850 r13885 610 610 // Fixed arity. 611 611 if (args.length != arity) 612 error(new WrongNumberOfArgumentsException(function, arity));612 error(new WrongNumberOfArgumentsException(function, list(args), arity)); 613 613 return args; 614 614 } … … 640 640 // Fixed arity. 641 641 if (argsLength != arity) 642 error(new WrongNumberOfArgumentsException(function, arity));642 error(new WrongNumberOfArgumentsException(function, list(args), arity)); 643 643 return args; 644 644 } -
trunk/abcl/src/org/armedbear/lisp/Lisp.java
r13822 r13885 883 883 } 884 884 885 public static LispObject list(LispObject[] obj) { 886 LispObject theList = NIL; 887 if (obj.length > 0) 888 for (int i = obj.length - 1; i >= 0; i--) 889 theList = new Cons(obj[i], theList); 890 return theList; 891 } 885 892 886 893 public static final Cons list(LispObject obj1, LispObject... remaining) -
trunk/abcl/src/org/armedbear/lisp/WrongNumberOfArgumentsException.java
r13510 r13885 41 41 private int expectedMinArgs; 42 42 private int expectedMaxArgs; 43 private LispObject actualArgs; 43 44 private String message; 44 45 … … 47 48 } 48 49 49 public WrongNumberOfArgumentsException(Operator operator, int expectedMin,50 int expectedM ax) {50 public WrongNumberOfArgumentsException(Operator operator, LispObject args, 51 int expectedMin, int expectedMax) { 51 52 // This is really just an ordinary PROGRAM-ERROR, broken out into its 52 53 // own Java class as a convenience for the implementation. … … 55 56 this.expectedMinArgs = expectedMin; 56 57 this.expectedMaxArgs = expectedMax; 58 this.actualArgs = args; 57 59 setFormatControl(getMessage()); 58 60 setFormatArguments(NIL); 59 61 } 60 62 63 public WrongNumberOfArgumentsException(Operator operator, 64 int expectedMin, int expectedMax) { 65 this(operator, null, expectedMin, expectedMax); 66 } 67 61 68 public WrongNumberOfArgumentsException(Operator operator, int expectedArgs) { 62 69 this(operator, expectedArgs, expectedArgs); 63 70 } 64 71 72 public WrongNumberOfArgumentsException(Operator operator, LispObject args, 73 int expectedArgs) { 74 this(operator, args, expectedArgs, expectedArgs); 75 } 76 65 77 public WrongNumberOfArgumentsException(String message) { 66 78 super(StandardClass.PROGRAM_ERROR); … … 100 112 sb.append(" expected"); 101 113 } 114 if (actualArgs != null) { 115 sb.append(" -- provided: "); 116 sb.append(actualArgs.princToString()); 117 } 102 118 sb.append('.'); 103 119 return message = sb.toString();
Note: See TracChangeset
for help on using the changeset viewer.