diff --git a/src/main/scala/leon/utils/Library.scala b/src/main/scala/leon/utils/Library.scala index d80fd76a0a1188423d01763f4392c6e376db9b7a..7cc8915d789bfae62a715676abef549402ca575d 100644 --- a/src/main/scala/leon/utils/Library.scala +++ b/src/main/scala/leon/utils/Library.scala @@ -7,12 +7,12 @@ import purescala.Definitions._ import purescala.DefOps.searchByFullName case class Library(pgm: Program) { - lazy val List = lookup("leon.collection.List") - lazy val Cons = lookup("leon.collection.Cons") - lazy val Nil = lookup("leon.collection.Nil") - - lazy val String = lookup("leon.lang.string.String") + lazy val List = lookup("leon.collection.List") collect { case acd : AbstractClassDef => acd } + lazy val Cons = lookup("leon.collection.Cons") collect { case ccd : CaseClassDef => ccd } + lazy val Nil = lookup("leon.collection.Nil") collect { case ccd : CaseClassDef => ccd } + lazy val String = lookup("leon.lang.string.String") collect { case ccd : CaseClassDef => ccd } + def lookup(name: String): Option[Definition] = { searchByFullName(name, pgm) }