diff options
Diffstat (limited to 'examples/scala-js/tools/shared/src/main/scala/scala/scalajs/tools/classpath/Exceptions.scala')
-rw-r--r-- | examples/scala-js/tools/shared/src/main/scala/scala/scalajs/tools/classpath/Exceptions.scala | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/examples/scala-js/tools/shared/src/main/scala/scala/scalajs/tools/classpath/Exceptions.scala b/examples/scala-js/tools/shared/src/main/scala/scala/scalajs/tools/classpath/Exceptions.scala new file mode 100644 index 0000000..62bf75f --- /dev/null +++ b/examples/scala-js/tools/shared/src/main/scala/scala/scalajs/tools/classpath/Exceptions.scala @@ -0,0 +1,42 @@ +/* __ *\ +** ________ ___ / / ___ __ ____ Scala.js tools ** +** / __/ __// _ | / / / _ | __ / // __/ (c) 2013-2014, LAMP/EPFL ** +** __\ \/ /__/ __ |/ /__/ __ |/_// /_\ \ http://scala-js.org/ ** +** /____/\___/_/ |_/____/_/ | |__/ /____/ ** +** |/____/ ** +\* */ + + +package scala.scalajs.tools.classpath + +import scala.scalajs.tools.jsdep.ResolutionInfo + +class MissingJSLibException(val dependencies: List[ResolutionInfo]) + extends Exception(MissingJSLibException.mkMsg(dependencies)) + +object MissingJSLibException { + private def mkMsg(deps: List[ResolutionInfo]): String = { + val msg = new StringBuilder() + msg.append("Missing dependencies: \n") + for (d <- deps) { + msg.append(s"- ${d.resourceName}") + msg.append(s" originating from: ${d.origins.mkString(", ")}\n") + } + msg.toString() + } +} + +class BadComplianceException(val unmet: List[ComplianceRequirement]) + extends Exception(BadComplianceException.mkMsg(unmet)) + +object BadComplianceException { + private def mkMsg(unmets: List[ComplianceRequirement]): String = { + val msg = new StringBuilder() + msg.append("Unmet required semantic compliance(s): \n") + for (unmet <- unmets) { + msg.append(s"- ${unmet.semantics}") + msg.append(s" originating from: ${unmet.origins.mkString(", ")}\n") + } + msg.toString + } +} |