X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Finternal%2Felaboration%2Fconstraints%2FConstraintEnvironment.java;h=5479371a64098dacd6da68aafb83f2a180431995;hb=refs%2Fchanges%2F41%2F1141%2F2;hp=72aa1ea9e09e627c441125cfb16048c91d0d7993;hpb=a8758de5bc19e5adb3f618d3038743a164f09912;p=simantics%2Fplatform.git 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]) + }); + } } }