From af98ccb68625ca45dcfe6bef93eea62861862730 Mon Sep 17 00:00:00 2001 From: Manos Koukoutos <emmanouil.koukoutos@epfl.ch> Date: Thu, 25 Jun 2015 15:22:34 +0200 Subject: [PATCH] Make this look more like a method --- .../scala/leon/purescala/Definitions.scala | 35 ++++++++----------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/src/main/scala/leon/purescala/Definitions.scala b/src/main/scala/leon/purescala/Definitions.scala index 1e38c2983..f49e8c863 100644 --- a/src/main/scala/leon/purescala/Definitions.scala +++ b/src/main/scala/leon/purescala/Definitions.scala @@ -108,39 +108,34 @@ object Definitions { abstract class Import extends Definition { def subDefinitions = Nil - - def importedDefs(implicit pgm: Program) = this match { - case PackageImport(pack) => - for { - u <- DefOps.unitsInPackage(pgm, pack) - d <- u.subDefinitions - ret <- d match { - case m: ModuleDef if m.isPackageObject => - m.subDefinitions - case other => - Seq(other) - } - } yield ret - - case SingleImport(imported) => - List(imported) - - case WildcardImport(imported) => - imported.subDefinitions - } + def importedDefs(implicit pgm: Program): Seq[Definition] } // import pack._ case class PackageImport(pack : PackageRef) extends Import { val id = FreshIdentifier("import " + (pack mkString ".")) + def importedDefs(implicit pgm: Program): Seq[Definition] = for { + u <- DefOps.unitsInPackage(pgm, pack) + d <- u.subDefinitions + ret <- d match { + case m: ModuleDef if m.isPackageObject => + m.subDefinitions + case other => + Seq(other) + } + } yield ret } // import pack.(...).df case class SingleImport(df : Definition) extends Import { val id = FreshIdentifier(s"import ${df.id.toString}") + def importedDefs(implicit pgm: Program): Seq[Definition] = + List(df) } // import pack.(...).df._ case class WildcardImport(df : Definition) extends Import { val id = FreshIdentifier(s"import ${df.id.toString}._") + def importedDefs(implicit pgm: Program): Seq[Definition] = + df.subDefinitions } case class UnitDef( -- GitLab