Aladdin - Scala Bugtracking
[#799] project: compiler priority: low category: bug
submitter assigned to status date submitted
Sean Iulian fixed 2006-11-04 13:59:31.0
subject inter-package protected object crash
code
// Again, must be in two files in two different packages
// FILE: test/TokenScanner.scala
package test;
trait TokenScanner {
  protected trait Tokenizer;
  protected abstract class SimpleTokenizer extends Tokenizer;
}
// FILE: testA/ScalaTokenScanner.scala
package testA;
import test._;
trait ScalaTokenScanner extends TokenScanner {
  protected object IdTokenizer extends SimpleTokenizer;
}
what happened
sean-mcdirmids-computer:~/workspace/test26/src mcdirmid$ ../../scala/build/quick/bin/scalac -log:super -d .\
./bin/ -sourcepath . testA/ScalaTokenScanner.scala
Exception in thread "main" java.lang.AssertionError: assertion failed
	at scala.Predef$.assert(Predef.scala:95)
	at scala.tools.nsc.ast.Trees$DefDef.(Trees.scala:289)
	at scala.tools.nsc.ast.Trees$class.DefDef(Trees.scala:295)
	at scala.tools.nsc.Global.DefDef(Global.scala:33)
	at scala.tools.nsc.ast.Trees$class.DefDef(Trees.scala:305)
	at scala.tools.nsc.Global.DefDef(Global.scala:33)
	at scala.tools.nsc.typechecker.SuperAccessors$SuperAccTransformer.makeAccessor(SuperAccessors.scala:192)
	at scala.tools.nsc.typechecker.SuperAccessors$SuperAccTransformer.transform(SuperAccessors.scala:86)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$24.apply(Trees.scala:1116)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$24.apply(Trees.scala:1116)
	at scala.List$.loop$0(List.scala:238)
	at scala.List$.mapConserve(List.scala:255)
	at scala.tools.nsc.ast.Trees$Transformer.transformTrees(Trees.scala:1116)
	at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:1050)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$\
TypingTransformer$$super$transform(TypingTransformers.scala:43)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$0.apply(TypingTransformers.scala:43)\

	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$0.apply(TypingTransformers.scala:43)\

	at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:1138)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:32)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:26)
	at scala.tools.nsc.typechecker.SuperAccessors$SuperAccTransformer.atOwner(SuperAccessors.scala:158)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:43)
	at scala.tools.nsc.typechecker.SuperAccessors$SuperAccTransformer.transform(SuperAccessors.scala:68)
	at scala.tools.nsc.ast.Trees$Transformer.transformTemplate(Trees.scala:1118)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$18.apply(Trees.scala:1022)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$18.apply(Trees.scala:1022)
	at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:1138)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:32)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:26)
	at scala.tools.nsc.typechecker.SuperAccessors$SuperAccTransformer.atOwner(SuperAccessors.scala:158)
	at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:1021)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:45)
	at scala.tools.nsc.typechecker.SuperAccessors$SuperAccTransformer.transform(SuperAccessors.scala:147)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$30.apply(Trees.scala:1132)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$30.apply(Trees.scala:1130)
	at scala.List$.loop$0(List.scala:238)
	at scala.List$.mapConserve(List.scala:255)
	at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:1130)
	at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:1050)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.scala$tools$nsc$transform$TypingTransformers$\
TypingTransformer$$super$transform(TypingTransformers.scala:43)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$0.apply(TypingTransformers.scala:43)\

	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer$$anonfun$0.apply(TypingTransformers.scala:43)\

	at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:1138)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:32)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:26)
	at scala.tools.nsc.typechecker.SuperAccessors$SuperAccTransformer.atOwner(SuperAccessors.scala:158)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:43)
	at scala.tools.nsc.typechecker.SuperAccessors$SuperAccTransformer.transform(SuperAccessors.scala:68)
	at scala.tools.nsc.ast.Trees$Transformer.transformTemplate(Trees.scala:1118)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$17.apply(Trees.scala:1018)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$17.apply(Trees.scala:1017)
	at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:1138)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:32)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:26)
	at scala.tools.nsc.typechecker.SuperAccessors$SuperAccTransformer.atOwner(SuperAccessors.scala:158)
	at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:1016)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:45)
	at scala.tools.nsc.typechecker.SuperAccessors$SuperAccTransformer.transform(SuperAccessors.scala:63)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$30.apply(Trees.scala:1132)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$30.apply(Trees.scala:1130)
	at scala.List$.loop$0(List.scala:238)
	at scala.List$.mapConserve(List.scala:255)
	at scala.tools.nsc.ast.Trees$Transformer.transformStats(Trees.scala:1130)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$16.apply(Trees.scala:1013)
	at scala.tools.nsc.ast.Trees$Transformer$$anonfun$16.apply(Trees.scala:1013)
	at scala.tools.nsc.ast.Trees$Transformer.atOwner(Trees.scala:1138)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:32)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.atOwner(TypingTransformers.scala:26)
	at scala.tools.nsc.typechecker.SuperAccessors$SuperAccTransformer.atOwner(SuperAccessors.scala:158)
	at scala.tools.nsc.ast.Trees$Transformer.transform(Trees.scala:1012)
	at scala.tools.nsc.transform.TypingTransformers$TypingTransformer.transform(TypingTransformers.scala:45)
	at scala.tools.nsc.typechecker.SuperAccessors$SuperAccTransformer.transform(SuperAccessors.scala:147)
	at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:1133)
	at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:30)
	at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:219)
	at scala.tools.nsc.Global$GlobalPhase$$anonfun$1.apply(Global.scala:208)
	at scala.tools.nsc.Global$GlobalPhase$$anonfun$1.apply(Global.scala:208)
	at scala.Iterator$class.foreach(Iterator.scala:316)
	at scala.collection.mutable.ListBuffer$$anon$0.foreach(ListBuffer.scala:244)
	at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:208)
	at scala.tools.nsc.Global$Run.compileSources(Global.scala:473)
	at scala.tools.nsc.Global$Run.compile(Global.scala:542)
	at scala.tools.nsc.Main$.process(Main.scala:74)
	at scala.tools.nsc.Main$.main(Main.scala:96)
	at scala.tools.nsc.Main.main(Main.scala)
what expected Assigning to Iulian because this looks similar to my last super accessor bug. Feel free to assign to Martin if this is in his domain :)
[back to overview]
Changes of this bug report
Iulian  edited on  2006-11-07 13:57:39.0