]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/formula/IfFormulaFunction.java
Adopt spreadsheet changes made in Balas development
[simantics/platform.git] / bundles / org.simantics.spreadsheet.graph / src / org / simantics / spreadsheet / graph / formula / IfFormulaFunction.java
diff --git a/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/formula/IfFormulaFunction.java b/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/formula/IfFormulaFunction.java
deleted file mode 100644 (file)
index 2d2ef8c..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-package org.simantics.spreadsheet.graph.formula;
-
-import org.simantics.spreadsheet.graph.CellFormulaFunction;
-import org.simantics.spreadsheet.graph.CellValueVisitor;
-import org.simantics.spreadsheet.graph.SpreadsheetGraphUtils;
-import org.simantics.spreadsheet.graph.parser.ast.AstArgList;
-import org.simantics.spreadsheet.graph.parser.ast.AstNothing;
-import org.simantics.spreadsheet.graph.parser.ast.AstValue;
-
-public class IfFormulaFunction implements CellFormulaFunction<Object> {
-
-    @Override
-    public Object evaluate(CellValueVisitor visitor, AstArgList args) {
-        if (args.values.size() != 3) throw new IllegalStateException();
-        
-        Object condition = args.values.get(0).accept(visitor);
-        AstValue ifTrueResult = args.values.get(1);
-        AstValue ifFalseResult = args.values.get(2);
-        
-        FormulaError2 error = FormulaError2.forObject(condition);
-               if(error!=null) return error.getString();
-
-        if (SpreadsheetGraphUtils.asBoolean(condition)) {
-            if(ifTrueResult==null || ifTrueResult instanceof AstNothing)
-               return 0;
-            try {
-               return ifTrueResult.accept(visitor);
-            } catch (IllegalStateException e){
-               return FormulaError2.NAME.getString();
-            }
-        }
-        else {
-            if(ifFalseResult==null || ifFalseResult instanceof AstNothing)
-               return 0;
-            try {
-               return ifFalseResult.accept(visitor);
-            } catch (IllegalStateException e){
-               return FormulaError2.NAME.getString();
-            }
-        }
-    }
-}
\ No newline at end of file