@@ -0,0 +1,993 @@
+package magic.ast;%0A%0Aimport magic.compiler.EvalResult;%0Aimport magic.compiler.SourceInfo;%0Aimport magic.data.APersistentList;%0Aimport magic.data.APersistentMap;%0Aimport magic.data.APersistentSet;%0Aimport magic.data.PersistentList;%0Aimport magic.data.Symbol;%0Aimport magic.lang.Context;%0A%0Apublic abstract class BaseForm%3CT%3E extends Node%3CT%3E %7B%0A%0A%09private APersistentList%3CNode%3C?%3E%3E form;%0A%0A%09public BaseForm(APersistentList%3CNode%3C?%3E%3E form, APersistentSet%3CSymbol%3E deps, SourceInfo source) %7B%0A%09%09super(deps, source);%0A%09%09this.form=form;%0A%09%7D%0A%09%0A%09@Override%0A%09public EvalResult%3CObject%3E evalQuoted(Context context, APersistentMap%3CSymbol, Object%3E bindings,%0A%09%09%09boolean syntaxQuote) %7B%0A%09%09int n=form.size();%0A%09%09if (n==0) return new EvalResult%3CObject%3E(context,PersistentList.EMPTY);%0A%09%09%0A%09%09Object%5B%5D rs=new Object%5Bn%5D;%0A%09%09for (int i=0; i%3Cn; i++) %7B%0A%09%09%09rs%5Bi%5D=form.get(i).evalQuoted(context, bindings, syntaxQuote);%0A%09%09%7D%0A%09%09PersistentList%3CObject%3E listResult=PersistentList.wrap(rs);%0A%09%09return new EvalResult%3CObject%3E(context,listResult);%0A%09%7D%0A%0A%7D%0A

Add BaseForm