summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2015-11-13 13:42:00 +1000
committerJason Zaugg <jzaugg@gmail.com>2015-11-13 13:42:00 +1000
commit0c597f00390ff1ad5de113f9d33c6a88238732d9 (patch)
treeebabda98fb84213c96b11efe529ecceb0fa4c84b /src/compiler
parent9cdfc456853b5a4f8c985413865fc0719cf009f4 (diff)
parentb237fb30554dbd3846193aae2c3ffe8bdb359c79 (diff)
downloadscala-0c597f00390ff1ad5de113f9d33c6a88238732d9.tar.gz
scala-0c597f00390ff1ad5de113f9d33c6a88238732d9.tar.bz2
scala-0c597f00390ff1ad5de113f9d33c6a88238732d9.zip
Merge pull request #4809 from wpopielarski/delambdafy-multiple-outputs
Multi output problem with delambdafied compilation
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala9
-rw-r--r--src/compiler/scala/tools/nsc/transform/Delambdafy.scala1
2 files changed, 5 insertions, 5 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala b/src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala
index 65a6b82570..1b97681743 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala
@@ -35,15 +35,14 @@ abstract class BCodeHelpers extends BCodeIdiomatic with BytecodeWriters {
/*
* must-single-thread
*/
- def getOutFolder(csym: Symbol, cName: String, cunit: CompilationUnit): _root_.scala.tools.nsc.io.AbstractFile = {
- try {
+ def getOutFolder(csym: Symbol, cName: String, cunit: CompilationUnit): _root_.scala.tools.nsc.io.AbstractFile =
+ _root_.scala.util.Try {
outputDirectory(csym)
- } catch {
+ }.recover {
case ex: Throwable =>
reporter.error(cunit.body.pos, s"Couldn't create file for class $cName\n${ex.getMessage}")
null
- }
- }
+ }.get
var pickledBytes = 0 // statistics
diff --git a/src/compiler/scala/tools/nsc/transform/Delambdafy.scala b/src/compiler/scala/tools/nsc/transform/Delambdafy.scala
index ea8c1cbaf6..8e323de623 100644
--- a/src/compiler/scala/tools/nsc/transform/Delambdafy.scala
+++ b/src/compiler/scala/tools/nsc/transform/Delambdafy.scala
@@ -294,6 +294,7 @@ abstract class Delambdafy extends Transform with TypingTransformers with ast.Tre
val name = unit.freshTypeName(s"$oldClassPart$suffix".replace("$anon", "$nestedInAnon"))
val lambdaClass = pkg newClassSymbol(name, originalFunction.pos, FINAL | SYNTHETIC) addAnnotation SerialVersionUIDAnnotation
+ lambdaClass.associatedFile = unit.source.file
// make sure currentRun.compiles(lambdaClass) is true (AddInterfaces does the same for trait impl classes)
currentRun.symSource(lambdaClass) = funOwner.sourceFile
lambdaClass setInfo ClassInfoType(parents, newScope, lambdaClass)