From 202352d966104dc1579da939b6665a2f137dfea4 Mon Sep 17 00:00:00 2001 From: Etienne Kneuss <ekneuss@gmail.com> Date: Tue, 11 Dec 2012 15:49:09 +0100 Subject: [PATCH] Works on web with hardcoded classPath **TO FIX** --- src/main/scala/leon/Settings.scala | 7 +++- .../scala/leon/plugin/ExtractionPhase.scala | 8 ++++- web/app/examples/VerificationExamples.scala | 36 +++++++++---------- web/app/models/LeonConsole.scala | 2 ++ web/lib/cafebabe_2.9.2-1.2.jar | 1 + web/lib/scalaz3.jar | 1 + web/public/stylesheets/leon.css | 2 +- 7 files changed, 36 insertions(+), 21 deletions(-) create mode 120000 web/lib/cafebabe_2.9.2-1.2.jar create mode 120000 web/lib/scalaz3.jar diff --git a/src/main/scala/leon/Settings.scala b/src/main/scala/leon/Settings.scala index 9aa0c57ac..43b595df6 100644 --- a/src/main/scala/leon/Settings.scala +++ b/src/main/scala/leon/Settings.scala @@ -12,5 +12,10 @@ object Settings { case class Settings( val synthesis: Boolean = false, val xlang: Boolean = false, - val verify: Boolean = true + val verify: Boolean = true, + val classPath: String = + List( + "/home/ekneuss/scala/scala-2.9.2/lib/", + "/home/ekneuss/git/leon-2.0/library/target/scala-2.9.2/" + ).mkString(":") ) diff --git a/src/main/scala/leon/plugin/ExtractionPhase.scala b/src/main/scala/leon/plugin/ExtractionPhase.scala index fdc271d53..72064330b 100644 --- a/src/main/scala/leon/plugin/ExtractionPhase.scala +++ b/src/main/scala/leon/plugin/ExtractionPhase.scala @@ -12,7 +12,7 @@ object ExtractionPhase extends LeonPhase[List[String], Program] { def run(ctx: LeonContext)(args: List[String]): Program = { val settings = new NSCSettings - settings.usejavacp.value = true + settings.extdirs.value = ctx.settings.classPath val compilerOpts = args.filterNot(_.startsWith("--")) @@ -21,6 +21,12 @@ object ExtractionPhase extends LeonPhase[List[String], Program] { } if(command.ok) { + // Debugging code for classpath crap + //new scala.tools.util.PathResolver(settings).Calculated.basis.foreach { cp => + // cp.foreach( p => + // ctx.reporter.info(" => "+p.toString) + // ) + //} val runner = new PluginRunner(settings, ctx, None) val run = new runner.Run run.compile(command.files) diff --git a/web/app/examples/VerificationExamples.scala b/web/app/examples/VerificationExamples.scala index e2027c62a..60a053b84 100644 --- a/web/app/examples/VerificationExamples.scala +++ b/web/app/examples/VerificationExamples.scala @@ -9,8 +9,8 @@ object VerificationExamples { val default = Example("Default", """ import scala.collection.immutable.Set -import funcheck.Annotations._ -import funcheck.Utils._ +import leon.Annotations._ +import leon.Utils._ object Example { sealed abstract class List @@ -34,8 +34,8 @@ object Example { newExample("Amortized Queue", """ import scala.collection.immutable.Set -import funcheck.Utils._ -import funcheck.Annotations._ +import leon.Utils._ +import leon.Annotations._ object AmortizedQueue { sealed abstract class List @@ -139,8 +139,8 @@ object AmortizedQueue { newExample("Associative List", """ import scala.collection.immutable.Set -import funcheck.Utils._ -import funcheck.Annotations._ +import leon.Utils._ +import leon.Annotations._ object AssociativeList { sealed abstract class KeyValuePairAbs @@ -192,8 +192,8 @@ object AssociativeList { newExample("Insertion Sort", """ import scala.collection.immutable.Set -import funcheck.Annotations._ -import funcheck.Utils._ +import leon.Annotations._ +import leon.Utils._ object InsertionSort { sealed abstract class List @@ -274,8 +274,8 @@ object InsertionSort { newExample("List Operations", """ import scala.collection.immutable.Set -import funcheck.Annotations._ -import funcheck.Utils._ +import leon.Annotations._ +import leon.Utils._ object ListOperations { sealed abstract class List @@ -384,8 +384,8 @@ object ListOperations { newExample("Propositional Logic", """ import scala.collection.immutable.Set -import funcheck.Utils._ -import funcheck.Annotations._ +import leon.Utils._ +import leon.Annotations._ object PropositionalLogic { @@ -488,8 +488,8 @@ object PropositionalLogic { newExample("Red-Black Tree", """ import scala.collection.immutable.Set -import funcheck.Annotations._ -import funcheck.Utils._ +import leon.Annotations._ +import leon.Utils._ object RedBlackTree { sealed abstract class Color @@ -607,8 +607,8 @@ object RedBlackTree { newExample("Search Linked-List", """ import scala.collection.immutable.Set -import funcheck.Utils._ -import funcheck.Annotations._ +import leon.Utils._ +import leon.Annotations._ object SearchLinkedList { sealed abstract class List @@ -657,8 +657,8 @@ object SearchLinkedList { """.trim) newExample("Sum and Max", """ -import funcheck.Utils._ -import funcheck.Annotations._ +import leon.Utils._ +import leon.Annotations._ object SumAndMax { sealed abstract class List diff --git a/web/app/models/LeonConsole.scala b/web/app/models/LeonConsole.scala index 76ef94140..eac20b8c5 100644 --- a/web/app/models/LeonConsole.scala +++ b/web/app/models/LeonConsole.scala @@ -20,6 +20,8 @@ import leon.{LeonContext, Settings, Reporter} import leon.plugin.{TemporaryInputPhase, ExtractionPhase} import leon.verification.AnalysisPhase +import scala.tools.util.PathResolver + object LeonConsole { def open: Promise[(Iteratee[JsValue,_],Enumerator[JsValue])] = { diff --git a/web/lib/cafebabe_2.9.2-1.2.jar b/web/lib/cafebabe_2.9.2-1.2.jar new file mode 120000 index 000000000..57d96b33e --- /dev/null +++ b/web/lib/cafebabe_2.9.2-1.2.jar @@ -0,0 +1 @@ +../../unmanaged/64/cafebabe_2.9.2-1.2.jar \ No newline at end of file diff --git a/web/lib/scalaz3.jar b/web/lib/scalaz3.jar new file mode 120000 index 000000000..ee09a7a2d --- /dev/null +++ b/web/lib/scalaz3.jar @@ -0,0 +1 @@ +../../unmanaged/64/scalaz3.jar \ No newline at end of file diff --git a/web/public/stylesheets/leon.css b/web/public/stylesheets/leon.css index b480006d2..c60ac9904 100644 --- a/web/public/stylesheets/leon.css +++ b/web/public/stylesheets/leon.css @@ -143,7 +143,7 @@ td.date { div#codebox { border-style: none; - background-color: rgba(255,255,255,0.5); + background-color: rgba(255,255,255,0.8); border: 1px dashed #333; width: 700px; height: 450px; -- GitLab