From 8adb082743f12402d0817018ab1e8ff0c0e4729e Mon Sep 17 00:00:00 2001 From: Joel Martin Date: Sun, 13 Apr 2014 15:36:02 -0500 Subject: Java, JS: cleanup and sync steps. - Java: less direct use of obj.value attribute. --- java/src/main/java/mal/core.java | 60 +++++++++++++++----------------- java/src/main/java/mal/step5_tco.java | 2 +- java/src/main/java/mal/step6_file.java | 6 +++- java/src/main/java/mal/step7_quote.java | 6 +++- java/src/main/java/mal/step8_macros.java | 8 +++-- java/src/main/java/mal/stepA_more.java | 2 +- java/src/main/java/mal/types.java | 3 ++ 7 files changed, 50 insertions(+), 37 deletions(-) (limited to 'java/src') diff --git a/java/src/main/java/mal/core.java b/java/src/main/java/mal/core.java index 3200c0e..e1e6705 100644 --- a/java/src/main/java/mal/core.java +++ b/java/src/main/java/mal/core.java @@ -162,9 +162,7 @@ public class core { } }; - // - // Hash map operations - // + // HashMap functions static MalFunction new_hash_map = new MalFunction() { public MalVal apply(MalList a) throws MalThrowable { return new MalHashMap(a); @@ -271,42 +269,22 @@ public class core { static MalFunction cons = new MalFunction() { public MalVal apply(MalList a) throws MalThrowable { - MalList lst = new MalList(); - lst.value.addAll(((MalList)a.nth(1)).value); - lst.value.add(0, a.nth(0)); - return (MalVal) lst; + List lst = new ArrayList(); + lst.add(a.nth(0)); + lst.addAll(((MalList)a.nth(1)).getList()); + return (MalVal)new MalList(lst); } }; static MalFunction concat = new MalFunction() { public MalVal apply(MalList a) throws MalThrowable { if (a.size() == 0) { return new MalList(); } - MalList lst = new MalList(); - lst.value.addAll(((MalList)a.nth(0)).value); + List lst = new ArrayList(); + lst.addAll(((MalList)a.nth(0)).value); for(Integer i=1; i