From eec625768fd84cbab756d0f7bff9f02948486a7f Mon Sep 17 00:00:00 2001 From: Etienne Kneuss <colder@php.net> Date: Thu, 5 Jun 2014 16:53:44 +0200 Subject: [PATCH] Proper ordering for positions --- src/main/scala/leon/synthesis/ChooseInfo.scala | 2 +- src/main/scala/leon/utils/Positions.scala | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/main/scala/leon/synthesis/ChooseInfo.scala b/src/main/scala/leon/synthesis/ChooseInfo.scala index a9e49f10d..f0dd2d242 100644 --- a/src/main/scala/leon/synthesis/ChooseInfo.scala +++ b/src/main/scala/leon/synthesis/ChooseInfo.scala @@ -35,6 +35,6 @@ object ChooseInfo { } } - results.sortBy(_.fd.id.toString) + results.sortBy(_.source.getPos) } } diff --git a/src/main/scala/leon/utils/Positions.scala b/src/main/scala/leon/utils/Positions.scala index 1068863b5..f5241de64 100644 --- a/src/main/scala/leon/utils/Positions.scala +++ b/src/main/scala/leon/utils/Positions.scala @@ -5,13 +5,22 @@ package utils import java.io.File -abstract class Position { +abstract class Position extends Ordered[Position] { val line: Int val col: Int val file: File - def < (that: Position) = { - (this.file == that.file) && (this.line < that.line || this.col < that.col) + def compare(that: Position) = { + if (this.file == that.file) { + val ld = this.line - that.line + if (ld == 0) { + this.col - that.col + } else { + ld + } + } else { + 0 + } } def fullString: String -- GitLab