diff options
author | Rich Hickey <richhickey@gmail.com> | 2008-05-20 18:20:16 +0000 |
---|---|---|
committer | Rich Hickey <richhickey@gmail.com> | 2008-05-20 18:20:16 +0000 |
commit | c33f417602d5fd305bb1ee3ed7e4349750448da4 (patch) | |
tree | 97d90135cbd7ffa6383a990d8eedd049a70bb5d4 | |
parent | 71532f7e0d7a45447771b5ee66ef9df4704d6f2d (diff) |
got rid of IllegalAccessErrors, changed to runtime exceptions
-rw-r--r-- | src/jvm/clojure/lang/APersistentVector.java | 2 | ||||
-rw-r--r-- | src/jvm/clojure/lang/Compiler.java | 4 | ||||
-rw-r--r-- | src/jvm/clojure/lang/Namespace.java | 2 | ||||
-rw-r--r-- | src/jvm/clojure/lang/PersistentVector.java | 2 | ||||
-rw-r--r-- | src/jvm/clojure/lang/RT.java | 2 |
5 files changed, 6 insertions, 6 deletions
diff --git a/src/jvm/clojure/lang/APersistentVector.java b/src/jvm/clojure/lang/APersistentVector.java index ea018edd..086d8369 100644 --- a/src/jvm/clojure/lang/APersistentVector.java +++ b/src/jvm/clojure/lang/APersistentVector.java @@ -137,7 +137,7 @@ public IPersistentVector assoc(Object key, Object val){ int i = ((Number) key).intValue(); return assocN(i, val); } - throw new IllegalAccessError("Key must be integer"); + throw new IllegalArgumentException("Key must be integer"); } public Object valAt(Object key, Object notFound){ diff --git a/src/jvm/clojure/lang/Compiler.java b/src/jvm/clojure/lang/Compiler.java index 8959b1f4..3233c151 100644 --- a/src/jvm/clojure/lang/Compiler.java +++ b/src/jvm/clojure/lang/Compiler.java @@ -3361,7 +3361,7 @@ static public Var isMacro(Object op) throws Exception{ if(v != null && v.isMacro()) { if(v.ns != currentNS() && !v.isPublic()) - throw new IllegalAccessError("var: " + v + " is not public"); + throw new IllegalStateException("var: " + v + " is not public"); return v; } } @@ -3545,7 +3545,7 @@ static public Object resolveIn(Namespace n, Symbol sym) throws Exception{ if(v == null) throw new Exception("No such var: " + sym); else if(v.ns != currentNS() && !v.isPublic()) - throw new IllegalAccessError("var: " + sym + " is not public"); + throw new IllegalStateException("var: " + sym + " is not public"); return v; } else if(sym.name.indexOf('.') > 0 || sym.name.charAt(0) == '[') diff --git a/src/jvm/clojure/lang/Namespace.java b/src/jvm/clojure/lang/Namespace.java index f0073bef..ec16c3be 100644 --- a/src/jvm/clojure/lang/Namespace.java +++ b/src/jvm/clojure/lang/Namespace.java @@ -118,7 +118,7 @@ public static Namespace findOrCreate(Symbol name){ public static Namespace remove(Symbol name){ if(name.equals(RT.CLOJURE_NS.name)) - throw new IllegalAccessError("Cannot remove clojure namespace"); + throw new IllegalArgumentException("Cannot remove clojure namespace"); return namespaces.remove(name); } diff --git a/src/jvm/clojure/lang/PersistentVector.java b/src/jvm/clojure/lang/PersistentVector.java index 0aebc2b2..ca00fc76 100644 --- a/src/jvm/clojure/lang/PersistentVector.java +++ b/src/jvm/clojure/lang/PersistentVector.java @@ -172,7 +172,7 @@ private Object[] pushTail(int level, Object[] arr, Object[] tailNode, Box expans public PersistentVector pop(){ if(cnt == 0) - throw new IllegalAccessError("Can't pop empty vector"); + throw new IllegalStateException("Can't pop empty vector"); if(cnt == 1) return EMPTY.withMeta(meta()); if(tail.length > 1) diff --git a/src/jvm/clojure/lang/RT.java b/src/jvm/clojure/lang/RT.java index 5127a9cd..efec0009 100644 --- a/src/jvm/clojure/lang/RT.java +++ b/src/jvm/clojure/lang/RT.java @@ -368,7 +368,7 @@ static public ISeq seq(Object coll){ else if(coll instanceof Enumeration) return EnumerationSeq.create(((Enumeration) coll)); else - throw new IllegalAccessError("Don't know how to create ISeq from: " + coll.getClass().getSimpleName()); + throw new IllegalArgumentException("Don't know how to create ISeq from: " + coll.getClass().getSimpleName()); } static public ISeq keys(Object coll){ |