X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Felaboration%2Fcontexts%2FReplaceContext.java;h=b526cb3f0950d647cc8002661766abe982be87a7;hp=1bb40c5faa2acb72e3fa0e8f1856767d811c226e;hb=4ebc60b24db646dc2c64dd54190b029b8e28d030;hpb=fe1a2f532761669e67da4db4ae15096ced8a04db diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/contexts/ReplaceContext.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/contexts/ReplaceContext.java index 1bb40c5fa..b526cb3f0 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/contexts/ReplaceContext.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/contexts/ReplaceContext.java @@ -3,8 +3,10 @@ package org.simantics.scl.compiler.elaboration.contexts; import org.simantics.scl.compiler.elaboration.expressions.EVariable; import org.simantics.scl.compiler.elaboration.expressions.Expression; import org.simantics.scl.compiler.elaboration.expressions.Variable; +import org.simantics.scl.compiler.elaboration.expressions.records.FieldAssignment; import org.simantics.scl.compiler.types.TVar; import org.simantics.scl.compiler.types.Type; +import org.simantics.scl.compiler.types.Types; import gnu.trove.map.hash.THashMap; @@ -37,4 +39,28 @@ public class ReplaceContext { public ReplaceContext(TypingContext typingContext) { this(new THashMap(), new THashMap(), typingContext); } + + public Expression[] replace(Expression[] expressions) { + if(expressions == null) + return null; + Expression[] result = new Expression[expressions.length]; + for(int i=0;i