package org.simantics.scl.compiler.elaboration.query; import java.util.Arrays; import org.simantics.scl.compiler.elaboration.contexts.TranslationContext; import org.simantics.scl.compiler.elaboration.contexts.TypingContext; import org.simantics.scl.compiler.elaboration.expressions.EApply; import org.simantics.scl.compiler.elaboration.expressions.EVar; import org.simantics.scl.compiler.elaboration.expressions.Expression; import org.simantics.scl.compiler.elaboration.query.pre.QPreExists; import org.simantics.scl.compiler.elaboration.query.pre.QPreGuard; import org.simantics.scl.compiler.errors.Locations; public abstract class QAbstractCombiner extends Query { public Query[] queries; public QAbstractCombiner(Query[] queries) { this.queries = queries; } @Override public Query resolve(TranslationContext context) { Query modifiedQuery = handleExistsStatement(context); if(modifiedQuery != null) return modifiedQuery.resolve(context); for(int i=0;i