summaryrefslogtreecommitdiff
path: root/src/repl
diff options
context:
space:
mode:
authorDale Wijnand <dale.wijnand@gmail.com>2016-05-24 14:09:48 +0100
committerDale Wijnand <dale.wijnand@gmail.com>2016-05-26 16:01:57 +0100
commit3873fcfcbcc6c7f0c1660c18e45b265170580546 (patch)
tree59952086ce1560c73654a610645e78c6baf2f595 /src/repl
parent65642d9f5ca6abc4836811fd0db0fc7d7b4dcb1c (diff)
downloadscala-3873fcfcbcc6c7f0c1660c18e45b265170580546.tar.gz
scala-3873fcfcbcc6c7f0c1660c18e45b265170580546.tar.bz2
scala-3873fcfcbcc6c7f0c1660c18e45b265170580546.zip
Fully qualify types in REPL generated code
Diffstat (limited to 'src/repl')
-rw-r--r--src/repl/scala/tools/nsc/interpreter/IMain.scala6
-rw-r--r--src/repl/scala/tools/nsc/interpreter/ReplStrings.scala2
-rw-r--r--src/repl/scala/tools/nsc/interpreter/Scripted.scala26
3 files changed, 18 insertions, 16 deletions
diff --git a/src/repl/scala/tools/nsc/interpreter/IMain.scala b/src/repl/scala/tools/nsc/interpreter/IMain.scala
index a42a12a6fc..a77e6f45f8 100644
--- a/src/repl/scala/tools/nsc/interpreter/IMain.scala
+++ b/src/repl/scala/tools/nsc/interpreter/IMain.scala
@@ -614,7 +614,7 @@ class IMain(initialSettings: Settings, protected val out: JPrintWriter) extends
bindRep.compile(s"""
|object ${bindRep.evalName} {
| var value: $boundType = _
- | def set(x: Any) = value = x.asInstanceOf[$boundType]
+ | def set(x: _root_.scala.Any) = value = x.asInstanceOf[$boundType]
|}
""".stripMargin
)
@@ -882,7 +882,7 @@ class IMain(initialSettings: Settings, protected val out: JPrintWriter) extends
}
class ClassBasedWrapper extends Wrapper {
- def preambleHeader = "class %s extends Serializable { "
+ def preambleHeader = "class %s extends _root_.java.io.Serializable { "
/** Adds an object that instantiates the outer wrapping class. */
def postamble = s"""
@@ -915,7 +915,7 @@ class IMain(initialSettings: Settings, protected val out: JPrintWriter) extends
val preamble = """
|object %s {
| %s
- | lazy val %s: String = %s {
+ | lazy val %s: _root_.java.lang.String = %s {
| %s
| (""
""".stripMargin.format(
diff --git a/src/repl/scala/tools/nsc/interpreter/ReplStrings.scala b/src/repl/scala/tools/nsc/interpreter/ReplStrings.scala
index bf7508cb4e..87ca05600c 100644
--- a/src/repl/scala/tools/nsc/interpreter/ReplStrings.scala
+++ b/src/repl/scala/tools/nsc/interpreter/ReplStrings.scala
@@ -34,7 +34,7 @@ trait ReplStrings {
"\"" + string2code(str) + "\""
def any2stringOf(x: Any, maxlen: Int) =
- "scala.runtime.ScalaRunTime.replStringOf(%s, %s)".format(x, maxlen)
+ "_root_.scala.runtime.ScalaRunTime.replStringOf(%s, %s)".format(x, maxlen)
// no escaped or nested quotes
private[this] val inquotes = """(['"])(.*?)\1""".r
diff --git a/src/repl/scala/tools/nsc/interpreter/Scripted.scala b/src/repl/scala/tools/nsc/interpreter/Scripted.scala
index 25d359bc0e..6aef486957 100644
--- a/src/repl/scala/tools/nsc/interpreter/Scripted.scala
+++ b/src/repl/scala/tools/nsc/interpreter/Scripted.scala
@@ -42,7 +42,7 @@ class Scripted(@BeanProperty val factory: ScriptEngineFactory, settings: Setting
val adjusted = contextual.map { n =>
val valname = n.decodedName
s"""def `$valname` = $ctx.`$valname`
- def `${valname}_=`(x: Object) = $ctx.`$valname` = x"""
+ def `${valname}_=`(x: _root_.java.lang.Object) = $ctx.`$valname` = x"""
}.mkString(preamble, "\n", "\n")
ComputedImports(header, adjusted, trailer, path)
}
@@ -87,30 +87,32 @@ class Scripted(@BeanProperty val factory: ScriptEngineFactory, settings: Setting
if (intp.isInitializeComplete) {
// compile the dynamic ScriptContext object holder
- scriptContextRep compile s"""
- |import javax.script._
+ val ctxRes = scriptContextRep compile s"""
+ |import _root_.javax.script._
|object ${scriptContextRep.evalName} {
| var value: ScriptContext = _
- | def set(x: Any) = value = x.asInstanceOf[ScriptContext]
+ | def set(x: _root_.scala.Any) = value = x.asInstanceOf[ScriptContext]
|}
""".stripMargin
+ if (!ctxRes) throw new ScriptException("Failed to compile ctx")
dynamicContext = getContext
// Bridge dynamic references and script context
- intp compileString s"""
+ val dynRes = intp compileString s"""
|package scala.tools.nsc.interpreter
- |import language.dynamics
- |import javax.script._, ScriptContext.ENGINE_SCOPE
- |object dynamicBindings extends Dynamic {
+ |import _root_.scala.language.dynamics
+ |import _root_.javax.script._, ScriptContext.ENGINE_SCOPE
+ |object dynamicBindings extends _root_.scala.Dynamic {
| def context: ScriptContext = ${ scriptContextRep.evalPath }.value
| // $ctx.x retrieves the attribute x
- | def selectDynamic(field: String): Object = context.getAttribute(field)
+ | def selectDynamic(field: _root_.java.lang.String): _root_.java.lang.Object = context.getAttribute(field)
| // $ctx.x = v
- | def updateDynamic(field: String)(value: Object) = context.setAttribute(field, value, ENGINE_SCOPE)
+ | def updateDynamic(field: _root_.java.lang.String)(value: _root_.java.lang.Object) = context.setAttribute(field, value, ENGINE_SCOPE)
|}
|""".stripMargin
+ if (!dynRes) throw new ScriptException("Failed to compile dynamicBindings")
intp beQuietDuring {
- intp interpret s"val $ctx: scala.tools.nsc.interpreter.dynamicBindings.type = scala.tools.nsc.interpreter.dynamicBindings"
+ intp interpret s"val $ctx: _root_.scala.tools.nsc.interpreter.dynamicBindings.type = _root_.scala.tools.nsc.interpreter.dynamicBindings"
intp bind ("$engine" -> (this: ScriptEngine with Compilable))
}
}
@@ -292,7 +294,7 @@ object Scripted {
case _ => null
}
- def getProgram(statements: String*): String = statements.mkString("object Main extends App {\n\t", "\n\t", "\n}")
+ def getProgram(statements: String*): String = statements.mkString("object Main extends _root_.scala.App {\n\t", "\n\t", "\n}")
def getScriptEngine: ScriptEngine = {
val settings = new Settings()