package org.simantics.scl.compiler.elaboration.expressions; import org.simantics.scl.compiler.elaboration.query.QAlternative; import org.simantics.scl.compiler.elaboration.query.QAtom; import org.simantics.scl.compiler.elaboration.query.QConjunction; import org.simantics.scl.compiler.elaboration.query.QDisjunction; import org.simantics.scl.compiler.elaboration.query.QExists; import org.simantics.scl.compiler.elaboration.query.QIf; import org.simantics.scl.compiler.elaboration.query.QMapping; import org.simantics.scl.compiler.elaboration.query.QNegation; import org.simantics.scl.compiler.elaboration.query.Query; import org.simantics.scl.compiler.elaboration.query.pre.QPreBinds; import org.simantics.scl.compiler.elaboration.query.pre.QPreEquals; import org.simantics.scl.compiler.elaboration.query.pre.QPreExists; import org.simantics.scl.compiler.elaboration.query.pre.QPreGuard; public interface QueryTransformer { Query transform(QAlternative query); Query transform(QAtom query); Query transform(QConjunction query); Query transform(QDisjunction query); Query transform(QExists query); Query transform(QIf query); Query transform(QMapping query); Query transform(QNegation query); Query transform(QPreBinds query); Query transform(QPreEquals query); Query transform(QPreExists query); Query transform(QPreGuard query); }