From 06a3d47ea9fd1b67b3acba9d115a16d18549e377 Mon Sep 17 00:00:00 2001 From: Felix Mulder Date: Wed, 26 Oct 2016 16:19:35 +0200 Subject: Move sjs, make sure that partest compiles everything in dirs --- src/dotty/tools/backend/sjs/JSPositions.scala | 65 --------------------------- 1 file changed, 65 deletions(-) delete mode 100644 src/dotty/tools/backend/sjs/JSPositions.scala (limited to 'src/dotty/tools/backend/sjs/JSPositions.scala') diff --git a/src/dotty/tools/backend/sjs/JSPositions.scala b/src/dotty/tools/backend/sjs/JSPositions.scala deleted file mode 100644 index 10570da00..000000000 --- a/src/dotty/tools/backend/sjs/JSPositions.scala +++ /dev/null @@ -1,65 +0,0 @@ -package dotty.tools.backend.sjs - -import dotty.tools.dotc.core._ -import Contexts._ -import dotty.tools.dotc.util.Positions -import Positions.Position - -import org.scalajs.core.ir - -/** Conversion utilities from dotty Positions to IR Positions. */ -class JSPositions()(implicit ctx: Context) { - - /** Implicit conversion from dotty Position to ir.Position. */ - implicit def pos2irPos(pos: Positions.Position): ir.Position = { - if (!pos.exists) ir.Position.NoPosition - else { - val source = pos2irPosCache.toIRSource(ctx.compilationUnit.source) - val sourcePos = ctx.compilationUnit.source.atPos(pos) - // dotty positions are 1-based but IR positions are 0-based - ir.Position(source, sourcePos.line-1, sourcePos.column-1) - } - } - - /** Implicitly materializes an ir.Position from an implicit dotty Position. */ - implicit def implicitPos2irPos( - implicit pos: Positions.Position): ir.Position = { - pos2irPos(pos) - } - - private[this] object pos2irPosCache { // scalastyle:ignore - import dotty.tools.dotc.util._ - - private[this] var lastDotcSource: SourceFile = null - private[this] var lastIRSource: ir.Position.SourceFile = null - - def toIRSource(dotcSource: SourceFile): ir.Position.SourceFile = { - if (dotcSource != lastDotcSource) { - lastIRSource = convert(dotcSource) - lastDotcSource = dotcSource - } - lastIRSource - } - - private[this] def convert(dotcSource: SourceFile): ir.Position.SourceFile = { - dotcSource.file.file match { - case null => - new java.net.URI( - "virtualfile", // Pseudo-Scheme - dotcSource.file.path, // Scheme specific part - null // Fragment - ) - case file => - val srcURI = file.toURI - def matches(pat: java.net.URI) = pat.relativize(srcURI) != srcURI - - // TODO - /*scalaJSOpts.sourceURIMaps.collectFirst { - case ScalaJSOptions.URIMap(from, to) if matches(from) => - val relURI = from.relativize(srcURI) - to.fold(relURI)(_.resolve(relURI)) - } getOrElse*/ srcURI - } - } - } -} -- cgit v1.2.3