class StandardCompileServer extends SocketServer
The server part of the fsc offline compiler. It awaits compilation commands and executes them. It caches a compiler instance so that it can respond more quickly.
- Source
- CompileServer.scala
- Version
1.0
- Alphabetic
- By Inheritance
- StandardCompileServer
- SocketServer
- CompileOutputCommon
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new StandardCompileServer(fixPort: Int = 0)
Value Members
-
val
BufferSize: Int
- Definition Classes
- SocketServer
- val MaxCharge: Double
- lazy val compileSocket: CompileSocket
-
def
doSession(clientSocket: Socket): Unit
- Definition Classes
- SocketServer
-
def
echo(msg: String): Unit
- Definition Classes
- CompileOutputCommon
-
def
fatal(msg: String): Nothing
- Definition Classes
- CompileOutputCommon
-
var
in: BufferedReader
- Definition Classes
- SocketServer
-
def
info(msg: String): Unit
- Definition Classes
- CompileOutputCommon
- def isMemoryFullEnough(): Boolean
-
def
newGlobal(settings: Settings, reporter: Reporter): Global
Create a new compiler instance
-
var
out: PrintWriter
- Definition Classes
- SocketServer
-
lazy val
port: Int
- Definition Classes
- SocketServer
- def printMemoryStats(): Unit
- var reporter: ConsoleReporter
-
def
run(): Unit
- Definition Classes
- SocketServer
-
lazy val
serverSocket: ServerSocket
- Definition Classes
- SocketServer
-
def
session(): Unit
- Definition Classes
- StandardCompileServer → SocketServer
-
var
shutdown: Boolean
- Definition Classes
- StandardCompileServer → SocketServer
-
def
timeout(): Unit
- Definition Classes
- StandardCompileServer → SocketServer
-
def
unequalSettings(s1: Settings, s2: Settings): Set[Settings.Setting]
Problematically, Settings are only considered equal if every setting is exactly equal.
Problematically, Settings are only considered equal if every setting is exactly equal. In fsc this immediately breaks down because the randomly chosen temporary outdirs differ between client and server. Among other things. Long term we could use a meaningful equality; short term I'm just ignoring options which I can see causing a new compiler instance every time and which do not interestingly influence compilation products.
-
var
verbose: Boolean
- Definition Classes
- StandardCompileServer → CompileOutputCommon
-
def
warn(msg: String): Unit
- Definition Classes
- CompileOutputCommon
The Scala compiler and reflection APIs.