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