]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/elaboration/expressions/printing/ExpressionToStringVisitor.java
(refs #7375) Replaced collectEffects by CollectEffectsVisitor
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / elaboration / expressions / printing / ExpressionToStringVisitor.java
index ac347385ae68b5d860ad927cb52a4f67ff9a0282..b1a05d70e2e42a6541d180bfe38d085d8dc9d319 100644 (file)
@@ -8,11 +8,16 @@ import org.simantics.scl.compiler.elaboration.chr.CHRRule;
 import org.simantics.scl.compiler.elaboration.chr.relations.CHRConstraint;
 import org.simantics.scl.compiler.elaboration.expressions.Assignment;
 import org.simantics.scl.compiler.elaboration.expressions.Case;
+import org.simantics.scl.compiler.elaboration.expressions.EAmbiguous;
 import org.simantics.scl.compiler.elaboration.expressions.EApply;
 import org.simantics.scl.compiler.elaboration.expressions.EApplyType;
 import org.simantics.scl.compiler.elaboration.expressions.EAsPattern;
+import org.simantics.scl.compiler.elaboration.expressions.EBinary;
 import org.simantics.scl.compiler.elaboration.expressions.EBind;
+import org.simantics.scl.compiler.elaboration.expressions.EBlock;
 import org.simantics.scl.compiler.elaboration.expressions.ECHRRuleset;
+import org.simantics.scl.compiler.elaboration.expressions.ECHRRulesetConstructor;
+import org.simantics.scl.compiler.elaboration.expressions.ECHRSelect;
 import org.simantics.scl.compiler.elaboration.expressions.EConstant;
 import org.simantics.scl.compiler.elaboration.expressions.ECoveringBranchPoint;
 import org.simantics.scl.compiler.elaboration.expressions.EEnforce;
@@ -31,13 +36,18 @@ import org.simantics.scl.compiler.elaboration.expressions.EListLiteral;
 import org.simantics.scl.compiler.elaboration.expressions.ELiteral;
 import org.simantics.scl.compiler.elaboration.expressions.EMatch;
 import org.simantics.scl.compiler.elaboration.expressions.EPlaceholder;
+import org.simantics.scl.compiler.elaboration.expressions.EPreLet;
+import org.simantics.scl.compiler.elaboration.expressions.ERange;
 import org.simantics.scl.compiler.elaboration.expressions.ERealLiteral;
+import org.simantics.scl.compiler.elaboration.expressions.ERecord;
 import org.simantics.scl.compiler.elaboration.expressions.ERuleset;
 import org.simantics.scl.compiler.elaboration.expressions.ESelect;
 import org.simantics.scl.compiler.elaboration.expressions.ESimpleLambda;
 import org.simantics.scl.compiler.elaboration.expressions.ESimpleLet;
+import org.simantics.scl.compiler.elaboration.expressions.EStringLiteral;
 import org.simantics.scl.compiler.elaboration.expressions.ETransformation;
 import org.simantics.scl.compiler.elaboration.expressions.ETypeAnnotation;
+import org.simantics.scl.compiler.elaboration.expressions.EVar;
 import org.simantics.scl.compiler.elaboration.expressions.EVariable;
 import org.simantics.scl.compiler.elaboration.expressions.EViewPattern;
 import org.simantics.scl.compiler.elaboration.expressions.EWhen;
@@ -321,7 +331,12 @@ public class ExpressionToStringVisitor implements ExpressionVisitor, QueryVisito
     public void visit(ESelect expression) {
         b.append("ESelect");
     }
-
+    
+    @Override
+    public void visit(ECHRSelect expression) {
+        b.append("ECHRSelect");
+    }
+    
     @Override
     public void visit(ESimpleLambda expression) {
         b.append('\\');
@@ -384,6 +399,11 @@ public class ExpressionToStringVisitor implements ExpressionVisitor, QueryVisito
         expression.getValue().accept(this);
     }
 
+    @Override
+    public void visit(EVar expression) {
+        b.append(expression.name);
+    }
+
     @Override
     public void visit(EVariable expression) {
         show(expression.getVariable());
@@ -508,13 +528,18 @@ public class ExpressionToStringVisitor implements ExpressionVisitor, QueryVisito
     }
 
     @Override
-    public void visit(EEquations eEquations) {
+    public void visit(EEquations expression) {
         b.append("eq");
     }
 
     @Override
-    public void visit(ECHRRuleset echrRuleset) {
-        b.append("CHRRuleset");
+    public void visit(ECHRRuleset expression) {
+        b.append("ECHRRuleset");
+    }
+    
+    @Override
+    public void visit(ECHRRulesetConstructor expression) {
+        b.append("ECHRRulesetConstructor");
     }
 
     public void visit(CHRRule rule) {
@@ -545,4 +570,52 @@ public class ExpressionToStringVisitor implements ExpressionVisitor, QueryVisito
             showPar(parameter);
         }
     }
+
+    @Override
+    public void visit(EBinary expression) {
+        b.append("<EBinary>");
+    }
+
+    @Override
+    public void visit(EBlock expression) {
+        b.append("<EBlock>");
+    }
+
+    @Override
+    public void visit(EPreLet expression) {
+        b.append("<EPreLet>");
+    }
+
+    @Override
+    public void visit(ERange expression) {
+        b.append('[');
+        expression.from.accept(this);
+        b.append("..");
+        expression.to.accept(this);
+        b.append(']');
+    }
+
+    @Override
+    public void visit(ERecord expression) {
+        b.append("<ERecord>");
+    }
+
+    @Override
+    public void visit(EStringLiteral expression) {
+        b.append('"');
+        for(int i=0;i<expression.strings.length;++i) {
+            b.append(expression.strings[i]);
+            if(i < expression.expressions.length) {
+                b.append("\\(");
+                expression.expressions[i].accept(this);
+                b.append(')');
+            }
+        }
+        b.append('"');
+    }
+
+    @Override
+    public void visit(EAmbiguous eAmbiguous) {
+        b.append("EAmbigious");
+    }
 }