Commit e8e730f4 authored by mevenson@1c010e3e-69d0-11dd-93a8-456734b0d56f's avatar mevenson@1c010e3e-69d0-11dd-93a8-456734b0d56f
Browse files

Pass wrapped error message to IllegalMonitorException.

parent 9708836f
...@@ -47,9 +47,23 @@ public final class IllegalMonitorState extends ProgramError ...@@ -47,9 +47,23 @@ public final class IllegalMonitorState extends ProgramError
setFormatArguments(NIL); setFormatArguments(NIL);
} }
public IllegalMonitorState(String message)
{
// This is really just an ordinary PROGRAM-ERROR, broken out into its
// own Java class as a convenience for the implementation.
super(StandardClass.PROGRAM_ERROR);
if (message != null) {
this.message = message;
}
setFormatControl(getMessage());
setFormatArguments(NIL);
}
String message = "Illegal monitor state.";
@Override @Override
public String getMessage() public String getMessage()
{ {
return "Illegal monitor state."; return message;
} }
} }
...@@ -1249,7 +1249,7 @@ public final class LispThread extends LispObject ...@@ -1249,7 +1249,7 @@ public final class LispThread extends LispObject
currentThread().processThreadInterrupts(); currentThread().processThreadInterrupts();
} }
catch (IllegalMonitorStateException e) { catch (IllegalMonitorStateException e) {
return error(new IllegalMonitorState()); return error(new IllegalMonitorState(e.getMessage()));
} }
return NIL; return NIL;
} }
...@@ -1265,7 +1265,7 @@ public final class LispThread extends LispObject ...@@ -1265,7 +1265,7 @@ public final class LispThread extends LispObject
currentThread().processThreadInterrupts(); currentThread().processThreadInterrupts();
} }
catch (IllegalMonitorStateException e) { catch (IllegalMonitorStateException e) {
return error(new IllegalMonitorState()); return error(new IllegalMonitorState(e.getMessage()));
} }
return NIL; return NIL;
} }
...@@ -1284,7 +1284,7 @@ public final class LispThread extends LispObject ...@@ -1284,7 +1284,7 @@ public final class LispThread extends LispObject
object.lockableInstance().notify(); object.lockableInstance().notify();
} }
catch (IllegalMonitorStateException e) { catch (IllegalMonitorStateException e) {
return error(new IllegalMonitorState()); return error(new IllegalMonitorState(e.getMessage()));
} }
return NIL; return NIL;
} }
...@@ -1302,7 +1302,7 @@ public final class LispThread extends LispObject ...@@ -1302,7 +1302,7 @@ public final class LispThread extends LispObject
object.lockableInstance().notifyAll(); object.lockableInstance().notifyAll();
} }
catch (IllegalMonitorStateException e) { catch (IllegalMonitorStateException e) {
return error(new IllegalMonitorState()); return error(new IllegalMonitorState(e.getMessage()));
} }
return NIL; return NIL;
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment