Skip to content

Commit

Permalink
Move compiler and parsing-related stuff to compiler module
Browse files Browse the repository at this point in the history
  • Loading branch information
alexarchambault committed Jan 14, 2021
1 parent 6e8202b commit 5f1386a
Show file tree
Hide file tree
Showing 43 changed files with 73 additions and 56 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package scala.tools.nsc
import java.io.File
import java.net.URL

import ammonite.interp.internal.CustomURLZipArchive
import ammonite.compiler.internal.CustomURLZipArchive

import scala.reflect.io.AbstractFile
import scala.tools.nsc.classpath.FileUtils.AbstractFileOps
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ammonite.interp
package ammonite.compiler

import ammonite.util.Classpath

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ammonite.interp
package ammonite.compiler

import ammonite.util.Classpath

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ammonite.interp
package ammonite.compiler

import ammonite.util.Classpath

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package scala.tools.nsc
import java.io.File
import java.net.URL

import ammonite.interp.internal.CustomURLZipArchive
import ammonite.compiler.internal.CustomURLZipArchive

import scala.reflect.io.AbstractFile
import scala.tools.nsc.classpath.FileUtils.AbstractFileOps
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ammonite.interp
package ammonite.compiler

import ammonite.util.Classpath

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ammonite.interp
package ammonite.compiler

import ammonite.util.{ImportData, Name, Util}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ammonite.interp
package ammonite.compiler

import ammonite.util._
import ammonite.util.Util.{CodeSource, newLine, normalizeNewlines}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ammonite.interp
package ammonite.compiler

import ammonite.util._
import ammonite.util.Util.{CodeSource, normalizeNewlines}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ammonite.interp
package ammonite.compiler


import java.io.OutputStream
Expand Down Expand Up @@ -232,7 +232,7 @@ object Compiler{
evalClassloader,
createPlugins = g => {
List(
new ammonite.interp.AmmonitePlugin(
new ammonite.compiler.AmmonitePlugin(
g,
lastImports = _,
uses => usedEarlierDefinitions = Some(uses),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package ammonite.interp
package ammonite.compiler

import ammonite.runtime._
import ammonite.util.Util._
import ammonite.util.{Classpath, Frame, Printer}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ammonite.interp
package ammonite.compiler

import ammonite.util._
import ammonite.util.Util.{CodeSource, newLine}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package ammonite.repl
package ammonite.compiler


import ammonite.interp.Parsers

import fastparse._, NoWhitespace._

import scalaparse.Scala._
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ammonite.interp
package ammonite.compiler

import ammonite.util.ImportTree
import ammonite.util.Util.CodeSource
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ammonite.interp
package ammonite.compiler

import ammonite.util._
import ammonite.util.Util.{CodeSource, newLine, normalizeNewlines, windowsPlatform}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package ammonite.interp
package ammonite.compiler

import java.io.{OutputStream, PrintWriter}

import ammonite.interp.MakeReporter.makeReporter
import ammonite.compiler.MakeReporter.makeReporter
import ammonite.util.Name

import scala.reflect.internal.util.{BatchSourceFile, OffsetPosition, Position}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package ammonite.interp.internal
package ammonite.compiler.internal

import java.io.{ByteArrayInputStream, InputStream}
import java.util.zip.{ZipEntry, ZipFile, ZipInputStream}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package ammonite.repl.tools
package ammonite.compiler.tools

import ammonite.repl.Highlighter.flattenIndices
import ammonite.compiler.Highlighter.flattenIndices
import ammonite.util.CodeColors
import com.github.javaparser.GeneratedJavaParserConstants._
import com.github.javaparser.{GeneratedJavaParserConstants, ParseStart, StringProvider}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package scala.tools.nsc
import java.io.File
import java.net.URL

import ammonite.interp.internal.CustomURLZipArchive
import ammonite.compiler.internal.CustomURLZipArchive

import scala.reflect.io.AbstractFile
import scala.tools.nsc.classpath.FileUtils.AbstractFileOps
Expand All @@ -13,7 +13,7 @@ import scala.tools.nsc.util.{ClassPath, ClassRepresentation}
// Originally based on
// https://github.com/scala/scala/blob/329deac9ab4f39e5e766ec3ab3f3f4cddbc44aa1
// /src/compiler/scala/tools/nsc/classpath/ZipAndJarFileLookupFactory.scala#L50-L166,
// then adapted to rely on ammonite.interp.internal.CustomURLZipArchive (accepting URLs)
// then adapted to rely on ammonite.compiler.internal.CustomURLZipArchive (accepting URLs)
// rather than FileZipArchive (only accepting files).

object CustomZipAndJarFileLookupFactory {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package ammonite.interp
import java.io.{File, OutputStream, PrintStream}
import java.util.regex.Pattern

import ammonite.compiler._
import ammonite.interp.api.{InterpAPI, InterpLoad, LoadJar}
import ammonite.interp.CodeWrapper

import scala.collection.mutable
import ammonite.runtime._
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ import java.util.concurrent.atomic.AtomicInteger
import java.util.concurrent.{CompletableFuture, Executors, ThreadFactory}
import java.util.UUID

import ammonite.compiler._
import ammonite.interp.api.InterpAPI
import ammonite.interp.{CodeWrapper, DependencyLoader}
import ammonite.interp.DependencyLoader
import ammonite.runtime.{ImportHook, Storage}
import ammonite.util.{Classpath, Imports, Printer}
import ch.epfl.scala.bsp4j.{Diagnostic => BDiagnostic, Position => BPosition, _}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package ammonite.interp.script

import ammonite.interp.{Compiler => AmmCompiler}
import ammonite.compiler.{Compiler => AmmCompiler}

final case class ScriptCompileResult(
diagnostics: Seq[Diagnostic],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package ammonite.interp.script

import java.util.concurrent.ConcurrentHashMap

import ammonite.interp.{
import ammonite.compiler.{
CodeWrapper,
Compiler => AmmCompiler
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ package ammonite.interp.script

import java.io.File

import ammonite.interp.{CodeWrapper, DependencyLoader, Interpreter, Parsers, Preprocessor}
import ammonite.compiler.{CodeWrapper, Parsers, Preprocessor}
import ammonite.interp.{DependencyLoader, Interpreter}
import ammonite.runtime.{Frame, ImportHook, Storage}
import ammonite.util.{ImportTree, Name, Util}
import ammonite.util.Util.CodeSource
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package ammonite.interp.script

import ammonite.interp.{
import ammonite.compiler.{
CodeWrapper,
Compiler => AmmCompiler,
Interpreter,
MakeReporter
}
import ammonite.interp.Interpreter
import ammonite.runtime.{Frame, Storage}
import ammonite.util.{Classpath, Imports, Name, Printer, Res}

Expand Down
3 changes: 2 additions & 1 deletion amm/repl/src/main/scala/ammonite/repl/AmmoniteFrontEnd.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@ package ammonite.repl

import java.io.{InputStream, OutputStream, OutputStreamWriter}

import ammonite.compiler.Highlighter
import ammonite.repl.api.FrontEnd
import ammonite.terminal.filters._
import GUILikeFilters.SelectionFilter
import ammonite.terminal._
import fastparse.Parsed
import ammonite.util.{Colors, Res}
import ammonite.interp.{Parsers, Preprocessor}
import ammonite.compiler.{Parsers, Preprocessor}
case class AmmoniteFrontEnd(extraFilters: Filter = Filter.empty) extends FrontEnd{

def width = FrontEndUtils.width
Expand Down
2 changes: 1 addition & 1 deletion amm/repl/src/main/scala/ammonite/repl/ApiImpls.scala
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ trait SourceAPIImpl extends SourceAPI {
def desugarImpl(s: String)(implicit colors: ammonite.util.CodeColors): Desugared = {

new Desugared(
ammonite.repl.Highlighter.defaultHighlight(
ammonite.compiler.Highlighter.defaultHighlight(
s.toVector,
colors.comment,
colors.`type`,
Expand Down
2 changes: 1 addition & 1 deletion amm/repl/src/main/scala/ammonite/repl/FrontEnds.scala
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import org.jline.terminal._
import org.jline.utils.AttributedString
import ammonite.util.{Catching, Colors, Res}
import ammonite.repl.api.FrontEnd
import ammonite.interp.{Parsers, Preprocessor}
import ammonite.compiler.{Highlighter, Parsers, Preprocessor}
import org.jline.reader.impl.DefaultParser


Expand Down
3 changes: 2 additions & 1 deletion amm/repl/src/main/scala/ammonite/repl/Repl.scala
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ import ammonite.runtime._
import ammonite.terminal.Filter
import ammonite.util.Util.{newLine, normalizeNewlines}
import ammonite.util._
import ammonite.interp.{CodeWrapper, Interpreter, Parsers, Preprocessor}
import ammonite.compiler.{CodeWrapper, Parsers, Preprocessor}
import ammonite.interp.Interpreter
import coursierapi.Dependency

import scala.annotation.tailrec
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ package ammonite.repl.tools
import javassist.{ByteArrayClassPath, CtClass, CtMethod}


import ammonite.repl.Highlighter
import ammonite.compiler.Highlighter
import ammonite.compiler.tools.HighlightJava
import ammonite.runtime.tools.browse.Strings
import ammonite.util.CodeColors
import ammonite.util.Util.{Location, newLine}
Expand Down
2 changes: 1 addition & 1 deletion amm/repl/src/test/scala/ammonite/DualTestRepl.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package ammonite

import ammonite.interp.CodeClassWrapper
import ammonite.compiler.CodeClassWrapper
import ammonite.repl.api.SourceBridge
import ammonite.repl.SourceAPIImpl
import ammonite.util.{Evaluated, Res}
Expand Down
7 changes: 4 additions & 3 deletions amm/repl/src/test/scala/ammonite/TestRepl.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ package ammonite

import java.io.PrintStream

import ammonite.interp.{CodeWrapper, Interpreter, Preprocessor}
import ammonite.compiler.{CodeWrapper, Preprocessor}
import ammonite.interp.Interpreter
import ammonite.main.Defaults
import ammonite.repl._
import ammonite.repl.api.{FrontEnd, History, ReplLoad}
Expand Down Expand Up @@ -215,7 +216,7 @@ class TestRepl {
// ...except for the empty 0-line fragment, and the entire fragment,
// both of which are complete.
for (incomplete <- commandText.inits.toSeq.drop(1).dropRight(1)){
assert(ammonite.interp.Parsers.split(incomplete.mkString(Util.newLine)).isEmpty)
assert(ammonite.compiler.Parsers.split(incomplete.mkString(Util.newLine)).isEmpty)
}

// Finally, actually run the complete command text through the
Expand Down Expand Up @@ -320,7 +321,7 @@ class TestRepl {
warningBuffer.clear()
errorBuffer.clear()
infoBuffer.clear()
val splitted = ammonite.interp.Parsers.split(input).get.get.value
val splitted = ammonite.compiler.Parsers.split(input).get.get.value
val processed = interp.processLine(
input,
splitted,
Expand Down
3 changes: 2 additions & 1 deletion amm/repl/src/test/scala/ammonite/TestUtils.scala
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ package ammonite

import java.io.PrintStream

import ammonite.interp.{CodeWrapper, Interpreter, Preprocessor}
import ammonite.compiler.{CodeWrapper, Preprocessor}
import ammonite.interp.Interpreter
import ammonite.main.Defaults
import ammonite.runtime.{Frame, Storage}
import ammonite.util._
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package ammonite.session

import ammonite.TestRepl
import ammonite.interp.CodeClassWrapper
import ammonite.compiler.CodeClassWrapper
import utest._

object SerializationTests extends TestSuite{
Expand Down
2 changes: 1 addition & 1 deletion amm/repl/src/test/scala/ammonite/unit/HighlightTests.scala
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package ammonite.unit

import ammonite.repl.Highlighter
import ammonite.compiler.Highlighter
import utest._

object HighlightTests extends TestSuite{
Expand Down
2 changes: 1 addition & 1 deletion amm/repl/src/test/scala/ammonite/unit/ParserTests.scala
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ object ParserTests extends TestSuite{
// somewhat-subtle logic around the parsers, one of these will catch it
test("endOfCommandDetection"){
def assertResult(x: String, pred: Option[fastparse.Parsed[_]] => Boolean) = {
val res = ammonite.interp.Parsers.split(x)
val res = ammonite.compiler.Parsers.split(x)
assert(pred(res))
}
def assertIncomplete(x: String) = assertResult(x, _.isEmpty)
Expand Down
3 changes: 2 additions & 1 deletion amm/src/main/scala/ammonite/Main.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ import java.io.{InputStream, OutputStream, PrintStream}
import java.net.URLClassLoader
import java.nio.file.NoSuchFileException

import ammonite.interp.{Watchable, CodeClassWrapper, CodeWrapper, Interpreter, PredefInitialization}
import ammonite.compiler.{CodeClassWrapper, CodeWrapper}
import ammonite.interp.{Watchable, Interpreter, PredefInitialization}
import ammonite.interp.script.AmmoniteBuildServer
import ammonite.runtime.{Frame, Storage}
import ammonite.main._
Expand Down
4 changes: 2 additions & 2 deletions amm/src/main/scala/ammonite/main/Scripts.scala
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ object Scripts {
}

scriptMains = interp.scriptCodeWrapper match{
case ammonite.interp.CodeWrapper =>
case ammonite.compiler.CodeWrapper =>
Some(
interp
.evalClassloader
Expand All @@ -61,7 +61,7 @@ object Scripts {
.apply()
)

case ammonite.interp.CodeClassWrapper =>
case ammonite.compiler.CodeClassWrapper =>
val outer = interp
.evalClassloader
.loadClass(routeClsName)
Expand Down
2 changes: 1 addition & 1 deletion amm/src/test/scala/ammonite/interp/CachingTests.scala
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ object CachingTests extends TestSuite{
""")
val scriptFile = os.temp("""div("<('.'<)", y).render""")

def processAndCheckCompiler(f: ammonite.interp.Compiler => Boolean) ={
def processAndCheckCompiler(f: ammonite.compiler.Compiler => Boolean) ={
val interp = createTestInterp(
new Storage.Folder(tempDir){
override val predef = predefFile
Expand Down
Loading

0 comments on commit 5f1386a

Please sign in to comment.