]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/elaboration/matching2/Row2.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / internal / elaboration / matching2 / Row2.java
1 package org.simantics.scl.compiler.internal.elaboration.matching2;
2
3
4 import java.util.Arrays;
5
6 import org.simantics.scl.compiler.elaboration.expressions.Expression;
7 import org.simantics.scl.compiler.internal.codegen.continuations.ICont;
8
9 public class Row2 {
10     Expression[] patterns;
11     ICont continuation;
12     
13     public Row2(Expression[] patterns,ICont continuation) {
14         this.patterns = patterns;
15         this.continuation = continuation;
16     }
17     
18     public Row2 replace(int columnToReplace, Expression[] substitution) {
19         Expression[] newPatterns = new Expression[patterns.length-1+substitution.length];
20         int j=0;
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);
28     }
29     
30     @Override
31     public String toString() {
32         return Arrays.toString(patterns);
33     }
34 }