import org.simantics.scl.compiler.elaboration.expressions.EViewPattern;
import org.simantics.scl.compiler.elaboration.expressions.Expression;
import org.simantics.scl.compiler.elaboration.expressions.GuardedExpressionGroup;
+import org.simantics.scl.compiler.elaboration.java.DynamicConstructor;
import org.simantics.scl.compiler.elaboration.modules.SCLValue;
import org.simantics.scl.compiler.elaboration.modules.TypeConstructor;
import org.simantics.scl.compiler.internal.codegen.continuations.Branch;
if(constructor_ instanceof EConstant) {
SCLValue constructor = ((EConstant)constructor_).getValue();
- ExpressionMatrix matrix = matrixMap.get(constructor.getName());
+ ExpressionMatrix matrix = constructor.getValue() == DynamicConstructor.INSTANCE ? null : matrixMap.get(constructor.getName());
if(matrix == null) {
CodeWriter newW = w.createBlock(Types.getTypes(parameters));
branches.add(new Branch((Constant)constructor.getValue(), newW.getContinuation()));