From 6c7985de2ff88808d1184558cc2ce9bd970dc6be Mon Sep 17 00:00:00 2001
From: Etienne Kneuss <ekneuss@gmail.com>
Date: Thu, 23 Jul 2015 20:36:47 +0200
Subject: [PATCH] print positions if asked to

---
 .../scala/leon/purescala/PrettyPrinter.scala  | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/main/scala/leon/purescala/PrettyPrinter.scala b/src/main/scala/leon/purescala/PrettyPrinter.scala
index 075402f13..6952542d6 100644
--- a/src/main/scala/leon/purescala/PrettyPrinter.scala
+++ b/src/main/scala/leon/purescala/PrettyPrinter.scala
@@ -3,6 +3,7 @@
 package leon
 package purescala
 
+import leon.utils._
 import leon.purescala.Common._
 import leon.purescala.DefOps._
 import leon.purescala.Definitions._
@@ -540,6 +541,24 @@ class PrettyPrinter(opts: PrinterOptions,
         case _ =>
       }
     }
+    if (opts.printPositions) {
+      tree.getPos match {
+        case op: OffsetPosition =>
+          p"@($op)"
+        case rp: RangePosition =>
+          if (rp.lineFrom == rp.lineTo) {
+            if (rp.colFrom == rp.colTo) {
+              p"@(${rp.lineFrom}:${rp.colFrom})"
+            } else {
+              p"@(${rp.lineFrom}:${rp.colFrom}-${rp.colTo})"
+            }
+          } else {
+            p"@(${rp.focusBegin}-${rp.focusEnd})"
+          }
+        case _ =>
+          p"@(?)"
+      }
+    }
   }
 
   object FcallMethodInvocation {
-- 
GitLab