diff options
author | Adriaan Moors <adriaan@lightbend.com> | 2017-03-27 17:10:38 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-27 17:10:38 -0700 |
commit | f5ce29b7f4afaf00ac644665963e017a9fa253d9 (patch) | |
tree | 4bd6f36e3a285fae52e2ae258aba260771aeedf9 /src/compiler/scala/tools/nsc/symtab/classfile | |
parent | 4dc194d961e407edfaf8cf76e0749f216e1021aa (diff) | |
parent | a436521f442e1f22f93db24f195570e7d34afdb2 (diff) | |
download | scala-f5ce29b7f4afaf00ac644665963e017a9fa253d9.tar.gz scala-f5ce29b7f4afaf00ac644665963e017a9fa253d9.tar.bz2 scala-f5ce29b7f4afaf00ac644665963e017a9fa253d9.zip |
Merge pull request #5724 from jvican/stub-errors-2.12.x
SCP-009: Improve direct dependency experience
Diffstat (limited to 'src/compiler/scala/tools/nsc/symtab/classfile')
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala index 95f34c1719..f146419a73 100644 --- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala +++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala @@ -1061,8 +1061,11 @@ abstract class ClassfileParser { val sflags = jflags.toScalaFlags val owner = ownerForFlags(jflags) val scope = getScope(jflags) - def newStub(name: Name) = - owner.newStubSymbol(name, s"Class file for ${entry.externalName} not found").setFlag(JAVA) + def newStub(name: Name) = { + val stub = owner.newStubSymbol(name, s"Class file for ${entry.externalName} not found") + stub.setPos(owner.pos) + stub.setFlag(JAVA) + } val (innerClass, innerModule) = if (file == NoAbstractFile) { (newStub(name.toTypeName), newStub(name.toTermName)) @@ -1184,7 +1187,11 @@ abstract class ClassfileParser { if (enclosing == clazz) entry.scope lookup name else lookupMemberAtTyperPhaseIfPossible(enclosing, name) } - def newStub = enclosing.newStubSymbol(name, s"Unable to locate class corresponding to inner class entry for $name in owner ${entry.outerName}") + def newStub = { + enclosing + .newStubSymbol(name, s"Unable to locate class corresponding to inner class entry for $name in owner ${entry.outerName}") + .setPos(enclosing.pos) + } member.orElse(newStub) } } |