package nebula.lang; import java.util.List; import nebula.data.Entity; public interface CompilerBase { public void arithmetic(Operator op, Expr<Object> e1, Expr<Object> e2); public void block(List<Statement> statements); public <V> void relational(final Operator op, Expr<V> e1, Expr<V> e2); public void call(Expr<Object> value); public void stIf(Expr<Object> expr, final Statement stIf, final Statement stElse); public void stIf(Expr<Object> expr, final Statement stIf); public void callMethod(Expr<Entity> e1, String name); public void conditional(Operator op, Expr<Boolean> e1, Expr<Boolean> e2); public void constDate(long value); public void constDatetime(long value); public void constDecimal(String text); public void constLong(Long value); public void constString(String value); public void constTime(long value); public void constTimestamp(long value); public void constYesno(int value); public void datastoreGet(Expr<Object> repos, String name); public void decrement(Expr<Object> e1); public void get(Expr<Object> list, Expr<Object> index); public void getField(Expr<Object> entity, String name, Type fieldType); public void increment(Expr<Object> e1); public void listFilter(Expr<Object> list, List<Expr<Object>> ranges); public void listFilterByClause(Expr<Object> list, Expr<Object> clause, List<Expr<Object>> params); public void listGetItem(Expr<Object> list, int index); public void makeRange_0_To(Expr<Object> to); public void makeRange_From(Expr<Object> from); public void makeRange_From_To(Expr<Object> from, Expr<Object> to); public void makeRangeIndex(Expr<Object> index); public void negates(Expr<Object> e1); public void not(Expr<Boolean> e1); public void paramsRefer(Expr<Object> in, int params, int index); public void positive(Expr<Object> e1); public void putVar(Var var, Expr<Object> initExpr); public void setField(Expr<Object> parent, String name, Type fieldType, Expr<Object> value); public void varRefer(Var var); }