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%2Finternal%2Felaboration%2Fconstraints%2FConstraintEnvironment.java;fp=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Finternal%2Felaboration%2Fconstraints%2FConstraintEnvironment.java;h=5479371a64098dacd6da68aafb83f2a180431995;hp=72aa1ea9e09e627c441125cfb16048c91d0d7993;hb=fac333b05f9c2651dc8d164e51e1c3468c524415;hpb=88ef829f11351683821ba3dc735e28307c3819c0 diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/elaboration/constraints/ConstraintEnvironment.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/elaboration/constraints/ConstraintEnvironment.java index 72aa1ea9e..5479371a6 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/elaboration/constraints/ConstraintEnvironment.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/elaboration/constraints/ConstraintEnvironment.java @@ -107,6 +107,15 @@ public class ConstraintEnvironment { Types.pred(Types.TYPEABLE, union.effects[1]) }); } + else if(union.effects.length == 3) { + return new Reduction( + new EConstant(Builtins.INSTANCE.getValue("TUnion3")), + Type.EMPTY_ARRAY, new TPred[] { + Types.pred(Types.TYPEABLE, union.effects[0]), + Types.pred(Types.TYPEABLE, union.effects[1]), + Types.pred(Types.TYPEABLE, union.effects[2]) + }); + } } }