1 package org.simantics.scl.compiler.internal.elaboration.matching2;
4 import java.util.Arrays;
6 import org.simantics.scl.compiler.elaboration.expressions.Expression;
7 import org.simantics.scl.compiler.internal.codegen.continuations.ICont;
10 Expression[] patterns;
13 public Row2(Expression[] patterns,ICont continuation) {
14 this.patterns = patterns;
15 this.continuation = continuation;
18 public Row2 replace(int columnToReplace, Expression[] substitution) {
19 Expression[] newPatterns = new Expression[patterns.length-1+substitution.length];
21 for(int i=0;i<columnToReplace;++i)
22 newPatterns[j++] = patterns[i];
23 for(int i=0;i<substitution.length;++i)
24 newPatterns[j++] = substitution[i];
25 for(int i=columnToReplace+1;i<patterns.length;++i)
26 newPatterns[j++] = patterns[i];
27 return new Row2(newPatterns, continuation);
31 public String toString() {
32 return Arrays.toString(patterns);