aboutsummaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorJoel Martin <github@martintribe.org>2014-04-15 01:24:43 -0500
committerJoel Martin <github@martintribe.org>2014-04-15 01:24:43 -0500
commit7e9a2883fe5c25a521b1dc37e4c549e1ed508ece (patch)
treeb444224dae6db978d4b5902f2a5b37046ba40d3e /java/src
parenta2849f89e7892feee256169398b1d2d82a2b8231 (diff)
downloadmal-7e9a2883fe5c25a521b1dc37e4c549e1ed508ece.tar.gz
mal-7e9a2883fe5c25a521b1dc37e4c549e1ed508ece.zip
All: fix get. All pass stepA tests.
Diffstat (limited to 'java/src')
-rw-r--r--java/src/main/java/mal/core.java16
-rw-r--r--java/src/main/java/mal/step6_file.java2
-rw-r--r--java/src/main/java/mal/step7_quote.java2
3 files changed, 12 insertions, 8 deletions
diff --git a/java/src/main/java/mal/core.java b/java/src/main/java/mal/core.java
index e1e6705..6ac4f8e 100644
--- a/java/src/main/java/mal/core.java
+++ b/java/src/main/java/mal/core.java
@@ -205,13 +205,17 @@ public class core {
static MalFunction get = new MalFunction() {
public MalVal apply(MalList a) throws MalThrowable {
- String key = ((MalString)a.nth(1)).getValue();
- MalHashMap mhm = (MalHashMap)a.nth(0);
- HashMap<String,MalVal> hm = (HashMap<String,MalVal>)mhm.value;
- if (hm.containsKey(key)) {
- return hm.get(key);
- } else {
+ if (a.nth(0) == Nil) {
return Nil;
+ } else {
+ String key = ((MalString)a.nth(1)).getValue();
+ MalHashMap mhm = (MalHashMap)a.nth(0);
+ HashMap<String,MalVal> hm = (HashMap<String,MalVal>)mhm.value;
+ if (hm.containsKey(key)) {
+ return hm.get(key);
+ } else {
+ return Nil;
+ }
}
}
};
diff --git a/java/src/main/java/mal/step6_file.java b/java/src/main/java/mal/step6_file.java
index 8d05b50..6a4c981 100644
--- a/java/src/main/java/mal/step6_file.java
+++ b/java/src/main/java/mal/step6_file.java
@@ -161,7 +161,7 @@ public class step6_file {
return reader.read_str(((MalString)args.nth(0)).getValue());
} catch (MalContinue c) {
return types.Nil;
- return reader.read_str(((MalString)args.nth(0)).getValue());
+ }
}
});
_ref(repl_env, "eval", new MalFunction() {
diff --git a/java/src/main/java/mal/step7_quote.java b/java/src/main/java/mal/step7_quote.java
index fbebb10..c46b4f0 100644
--- a/java/src/main/java/mal/step7_quote.java
+++ b/java/src/main/java/mal/step7_quote.java
@@ -192,7 +192,7 @@ public class step7_quote {
return reader.read_str(((MalString)args.nth(0)).getValue());
} catch (MalContinue c) {
return types.Nil;
- return reader.read_str(((MalString)args.nth(0)).getValue());
+ }
}
});
_ref(repl_env, "eval", new MalFunction() {