]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/EIf.java
migrated to svn revision 33108
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / EIf.java
index 420875999216f685b99da760e4b861ad219351d8..e1ccd53ddc3bc2a7bdf99d30fe12eb7ac19e6044 100755 (executable)
@@ -1,9 +1,5 @@
 package org.simantics.scl.compiler.elaboration.expressions;\r
 \r
 package org.simantics.scl.compiler.elaboration.expressions;\r
 \r
-import gnu.trove.map.hash.TObjectIntHashMap;\r
-import gnu.trove.set.hash.THashSet;\r
-import gnu.trove.set.hash.TIntHashSet;\r
-\r
 import org.simantics.scl.compiler.elaboration.contexts.ReplaceContext;\r
 import org.simantics.scl.compiler.elaboration.contexts.SimplificationContext;\r
 import org.simantics.scl.compiler.elaboration.contexts.TranslationContext;\r
 import org.simantics.scl.compiler.elaboration.contexts.ReplaceContext;\r
 import org.simantics.scl.compiler.elaboration.contexts.SimplificationContext;\r
 import org.simantics.scl.compiler.elaboration.contexts.TranslationContext;\r
@@ -20,6 +16,10 @@ import org.simantics.scl.compiler.types.Type;
 import org.simantics.scl.compiler.types.Types;\r
 import org.simantics.scl.compiler.types.exceptions.MatchException;\r
 \r
 import org.simantics.scl.compiler.types.Types;\r
 import org.simantics.scl.compiler.types.exceptions.MatchException;\r
 \r
+import gnu.trove.map.hash.TObjectIntHashMap;\r
+import gnu.trove.set.hash.THashSet;\r
+import gnu.trove.set.hash.TIntHashSet;\r
+\r
 public class EIf extends Expression {\r
     public Expression condition;\r
     public Expression then_;\r
 public class EIf extends Expression {\r
     public Expression condition;\r
     public Expression then_;\r
@@ -117,6 +117,14 @@ public class EIf extends Expression {
         return this;\r
     }\r
     \r
         return this;\r
     }\r
     \r
+    @Override\r
+    public Expression checkIgnoredType(TypingContext context) {\r
+        condition = condition.checkType(context, Types.BOOLEAN);\r
+        then_ = then_.checkIgnoredType(context);\r
+        else_ = else_.checkIgnoredType(context);\r
+        return this;\r
+    }\r
+    \r
     @Override\r
     public Expression decorate(ExpressionDecorator decorator) {\r
         condition = condition.decorate(decorator);\r
     @Override\r
     public Expression decorate(ExpressionDecorator decorator) {\r
         condition = condition.decorate(decorator);\r