]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/elaboration/constraints/ConstraintSolver.java
Make it possible to debug SCL compiler in production builds
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / internal / elaboration / constraints / ConstraintSolver.java
index 69b8e7e647f2a393e988204d4092fa7306d4aa51..1cdeea71dab5e551a1f9bce723f738c55226b9dc 100644 (file)
@@ -16,12 +16,16 @@ import org.simantics.scl.compiler.types.Types;
 import org.simantics.scl.compiler.types.exceptions.UnificationException;
 import org.simantics.scl.compiler.types.util.TConComparator;
 import org.simantics.scl.compiler.types.util.TypeUnparsingContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import gnu.trove.map.hash.THashMap;
 import gnu.trove.set.hash.THashSet;
 
 public class ConstraintSolver {
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(ConstraintSolver.class);
+    
     public static THashSet<TCon> DEFAULTS_IGNORE = new THashSet<TCon>(); 
     public static THashMap<List<TCon>, Type> DEFAULTS = new THashMap<List<TCon>, Type>();
     
@@ -60,14 +64,14 @@ public class ConstraintSolver {
         TypeUnparsingContext tuc = SCLCompilerConfiguration.TRACE_CONSTRAINT_SOLVER ? 
                 new TypeUnparsingContext() : null;
         if(SCLCompilerConfiguration.TRACE_CONSTRAINT_SOLVER) {
-            System.out.println();
-            System.out.println("GIVEN:");
+            LOGGER.info("");
+            LOGGER.info("GIVEN:");
             for(TPred g : given)
-                System.out.println("    " + g.toString(tuc));
-            System.out.println("DEMANDS:");
+                LOGGER.info("    " + g.toString(tuc));
+            LOGGER.info("DEMANDS:");
             for(EVariable demand : demands)
-                System.out.println("    " + demand.getType().toString(tuc));
-            System.out.println("==>");
+                LOGGER.info("    " + demand.getType().toString(tuc));
+            LOGGER.info("==>");
         }
         
         ConstraintSet cs = new ConstraintSet(environment);
@@ -91,11 +95,11 @@ public class ConstraintSolver {
             ArrayList<ArrayList<Constraint>> groups = 
                     groupConstraintsByCommonMetavars(unsolvedConstraints);
             if(SCLCompilerConfiguration.TRACE_CONSTRAINT_SOLVER) {
-                System.out.println("DEFAULT GROUPS:");
+                LOGGER.info("DEFAULT GROUPS:");
                 for(ArrayList<Constraint> group : groups) {
                     for(Constraint c : group)
-                        System.out.println("    " + c.constraint.toString(tuc));
-                    System.out.println("    --");
+                        LOGGER.info("    " + c.constraint.toString(tuc));
+                    LOGGER.info("    --");
                 }
             }
             
@@ -173,13 +177,13 @@ public class ConstraintSolver {
         }
 
         if(SCLCompilerConfiguration.TRACE_CONSTRAINT_SOLVER) {
-            System.out.println("UNSOLVED:");
+            LOGGER.info("UNSOLVED:");
             for(Constraint c : unsolvedConstraints)
-                System.out.println("    " + c.constraint.toString(tuc));  
-            System.out.println("SOLVED:");
+                LOGGER.info("    " + c.constraint.toString(tuc));  
+            LOGGER.info("SOLVED:");
             for(Constraint c : solvedConstraints)
-                System.out.println("    " + c.constraint.toString(tuc) + " <= " + c.generator);
-            //System.out.println("APPLY DEFAULTS: " + applyDefaults);
+                LOGGER.info("    " + c.constraint.toString(tuc) + " <= " + c.generator);
+            //LOGGER.info("APPLY DEFAULTS: " + applyDefaults);
         }
         
         return new ReducedConstraints(givenConstraints,