diff --git a/src/main/scala/leon/synthesis/ChooseInfo.scala b/src/main/scala/leon/synthesis/ChooseInfo.scala index a9e49f10d136be5d3bc1369ff783e08f2d1d2ec1..f0dd2d242c212ce3aeb58b3d59645413dc9d8da8 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 1068863b54818c7de77ded37814207246b14da80..f5241de64930a454991623c8f4b6330f17ae8530 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