summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2008-05-20 18:20:16 +0000
committerRich Hickey <richhickey@gmail.com>2008-05-20 18:20:16 +0000
commitc33f417602d5fd305bb1ee3ed7e4349750448da4 (patch)
tree97d90135cbd7ffa6383a990d8eedd049a70bb5d4 /src
parent71532f7e0d7a45447771b5ee66ef9df4704d6f2d (diff)
got rid of IllegalAccessErrors, changed to runtime exceptions
Diffstat (limited to 'src')
-rw-r--r--src/jvm/clojure/lang/APersistentVector.java2
-rw-r--r--src/jvm/clojure/lang/Compiler.java4
-rw-r--r--src/jvm/clojure/lang/Namespace.java2
-rw-r--r--src/jvm/clojure/lang/PersistentVector.java2
-rw-r--r--src/jvm/clojure/lang/RT.java2
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){