1 package org.simantics.scl.compiler.elaboration.expressions;
3 import org.simantics.scl.compiler.elaboration.query.QAlternative;
4 import org.simantics.scl.compiler.elaboration.query.QAtom;
5 import org.simantics.scl.compiler.elaboration.query.QConjunction;
6 import org.simantics.scl.compiler.elaboration.query.QDisjunction;
7 import org.simantics.scl.compiler.elaboration.query.QExists;
8 import org.simantics.scl.compiler.elaboration.query.QIf;
9 import org.simantics.scl.compiler.elaboration.query.QMapping;
10 import org.simantics.scl.compiler.elaboration.query.QNegation;
11 import org.simantics.scl.compiler.elaboration.query.Query;
12 import org.simantics.scl.compiler.elaboration.query.pre.QPreBinds;
13 import org.simantics.scl.compiler.elaboration.query.pre.QPreEquals;
14 import org.simantics.scl.compiler.elaboration.query.pre.QPreExists;
15 import org.simantics.scl.compiler.elaboration.query.pre.QPreGuard;
17 public interface QueryTransformer {
19 Query transform(QAlternative query);
20 Query transform(QAtom query);
21 Query transform(QConjunction query);
22 Query transform(QDisjunction query);
23 Query transform(QExists query);
24 Query transform(QIf query);
25 Query transform(QMapping query);
26 Query transform(QNegation query);
27 Query transform(QPreBinds query);
28 Query transform(QPreEquals query);
29 Query transform(QPreExists query);
30 Query transform(QPreGuard query);