Last active
August 29, 2015 14:18
-
-
Save xuwei-k/5ba3bcc8dc014f374777 to your computer and use it in GitHub Desktop.
"incorrect package name" + "default parameter of constructor" = "compiler crash!?"
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package foo | |
class A private[incorrect_package](value: Int = 1) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ scala -version | |
Scala code runner version 2.11.6 -- Copyright 2002-2013, LAMP/EPFL | |
$ scalac A.scala | |
A.scala:3: error: incorrect_package is not an enclosing class | |
class A private[incorrect_package](value: Int = 1) | |
^ | |
error: java.lang.AssertionError: assertion failed: | |
value <error: constructor A> | |
while compiling: A.scala | |
during phase: globalPhase=typer, enteringPhase=namer | |
library version: version 2.11.6 | |
compiler version: version 2.11.6 | |
reconstructed args: | |
last tree to typer: term A | |
tree position: line 3 of A.scala | |
symbol: object A in package foo | |
symbol definition: object A (a ModuleSymbol) | |
symbol package: foo | |
symbol owners: object A | |
call site: class A in package foo in package foo | |
== Source file context for tree position == | |
0 package foo | |
1 | |
2 class A private[incorrect_package](value: Int = 1) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$addDefaultGetters$2$$anonfun$apply$14$$anonfun$18.apply(Namers.scala:1324) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$addDefaultGetters$2$$anonfun$apply$14.apply(Namers.scala:1322) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$addDefaultGetters$2$$anonfun$apply$14.apply(Namers.scala:1269) | |
at scala.reflect.internal.util.Collections$class.map2(Collections.scala:79) | |
at scala.reflect.internal.SymbolTable.map2(SymbolTable.scala:16) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$addDefaultGetters$2.apply(Namers.scala:1269) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$addDefaultGetters$2.apply(Namers.scala:1265) | |
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124) | |
at scala.collection.immutable.List.foldLeft(List.scala:84) | |
at scala.tools.nsc.typechecker.Namers$Namer.addDefaultGetters(Namers.scala:1265) | |
at scala.tools.nsc.typechecker.Namers$Namer.methodSig(Namers.scala:1189) | |
at scala.tools.nsc.typechecker.Namers$Namer.getSig$1(Namers.scala:1529) | |
at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1541) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply$mcV$sp(Namers.scala:781) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply(Namers.scala:780) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply(Namers.scala:780) | |
at scala.tools.nsc.typechecker.Namers$Namer.scala$tools$nsc$typechecker$Namers$Namer$$logAndValidate(Namers.scala:1568) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1.apply(Namers.scala:780) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1.apply(Namers.scala:772) | |
at scala.tools.nsc.typechecker.Namers$$anon$1.completeImpl(Namers.scala:1684) | |
at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter$class.complete(Namers.scala:1692) | |
at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1682) | |
at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1488) | |
at scala.reflect.internal.Symbols$Symbol.initialize(Symbols.scala:1633) | |
at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1797) | |
at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5310) | |
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5359) | |
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396) | |
at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423) | |
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370) | |
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374) | |
at scala.tools.nsc.typechecker.Typers$Typer.typedByValueExpr(Typers.scala:5452) | |
at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedStat$1(Typers.scala:3046) | |
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$addSynthetics$1$1$$anonfun$apply$34.apply(Typers.scala:3108) | |
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$addSynthetics$1$1$$anonfun$apply$34.apply(Typers.scala:3107) | |
at scala.Option$WithFilter.foreach(Option.scala:209) | |
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$addSynthetics$1$1.apply(Typers.scala:3107) | |
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$addSynthetics$1$1.apply(Typers.scala:3106) | |
at scala.reflect.internal.Scopes$Scope.foreach(Scopes.scala:373) | |
at scala.tools.nsc.typechecker.Typers$Typer.addSynthetics$1(Typers.scala:3106) | |
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3157) | |
at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5012) | |
at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5312) | |
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5359) | |
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396) | |
at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423) | |
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370) | |
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374) | |
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5448) | |
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:102) | |
at scala.tools.nsc.Global$GlobalPhase$$anonfun$applyPhase$1.apply$mcV$sp(Global.scala:441) | |
at scala.tools.nsc.Global$GlobalPhase.withCurrentUnit(Global.scala:432) | |
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:441) | |
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:94) | |
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:93) | |
at scala.collection.Iterator$class.foreach(Iterator.scala:750) | |
at scala.collection.AbstractIterator.foreach(Iterator.scala:1202) | |
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:93) | |
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1500) | |
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1487) | |
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1482) | |
at scala.tools.nsc.Global$Run.compile(Global.scala:1580) | |
at scala.tools.nsc.Driver.doCompile(Driver.scala:32) | |
at scala.tools.nsc.MainClass.doCompile(Main.scala:23) | |
at scala.tools.nsc.Driver.process(Driver.scala:51) | |
at scala.tools.nsc.Driver.main(Driver.scala:64) | |
at scala.tools.nsc.Main.main(Main.scala) | |
Exception in thread "main" java.lang.AssertionError: assertion failed: | |
value <error: constructor A> | |
while compiling: A.scala | |
during phase: globalPhase=typer, enteringPhase=namer | |
library version: version 2.11.6 | |
compiler version: version 2.11.6 | |
reconstructed args: | |
last tree to typer: term A | |
tree position: line 3 of A.scala | |
symbol: object A in package foo | |
symbol definition: object A (a ModuleSymbol) | |
symbol package: foo | |
symbol owners: object A | |
call site: class A in package foo in package foo | |
== Source file context for tree position == | |
0 package foo | |
1 | |
2 class A private[incorrect_package](value: Int = 1) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$addDefaultGetters$2$$anonfun$apply$14$$anonfun$18.apply(Namers.scala:1324) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$addDefaultGetters$2$$anonfun$apply$14.apply(Namers.scala:1322) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$addDefaultGetters$2$$anonfun$apply$14.apply(Namers.scala:1269) | |
at scala.reflect.internal.util.Collections$class.map2(Collections.scala:79) | |
at scala.reflect.internal.SymbolTable.map2(SymbolTable.scala:16) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$addDefaultGetters$2.apply(Namers.scala:1269) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$addDefaultGetters$2.apply(Namers.scala:1265) | |
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:124) | |
at scala.collection.immutable.List.foldLeft(List.scala:84) | |
at scala.tools.nsc.typechecker.Namers$Namer.addDefaultGetters(Namers.scala:1265) | |
at scala.tools.nsc.typechecker.Namers$Namer.methodSig(Namers.scala:1189) | |
at scala.tools.nsc.typechecker.Namers$Namer.getSig$1(Namers.scala:1529) | |
at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:1541) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply$mcV$sp(Namers.scala:781) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply(Namers.scala:780) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1$$anonfun$apply$1.apply(Namers.scala:780) | |
at scala.tools.nsc.typechecker.Namers$Namer.scala$tools$nsc$typechecker$Namers$Namer$$logAndValidate(Namers.scala:1568) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1.apply(Namers.scala:780) | |
at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$monoTypeCompleter$1.apply(Namers.scala:772) | |
at scala.tools.nsc.typechecker.Namers$$anon$1.completeImpl(Namers.scala:1684) | |
at scala.tools.nsc.typechecker.Namers$LockingTypeCompleter$class.complete(Namers.scala:1692) | |
at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:1682) | |
at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:1488) | |
at scala.reflect.internal.Symbols$Symbol.initialize(Symbols.scala:1633) | |
at scala.tools.nsc.typechecker.Typers$Typer.typedModuleDef(Typers.scala:1797) | |
at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5310) | |
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5359) | |
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396) | |
at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423) | |
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370) | |
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374) | |
at scala.tools.nsc.typechecker.Typers$Typer.typedByValueExpr(Typers.scala:5452) | |
at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedStat$1(Typers.scala:3046) | |
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$addSynthetics$1$1$$anonfun$apply$34.apply(Typers.scala:3108) | |
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$addSynthetics$1$1$$anonfun$apply$34.apply(Typers.scala:3107) | |
at scala.Option$WithFilter.foreach(Option.scala:209) | |
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$addSynthetics$1$1.apply(Typers.scala:3107) | |
at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$addSynthetics$1$1.apply(Typers.scala:3106) | |
at scala.reflect.internal.Scopes$Scope.foreach(Scopes.scala:373) | |
at scala.tools.nsc.typechecker.Typers$Typer.addSynthetics$1(Typers.scala:3106) | |
at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3157) | |
at scala.tools.nsc.typechecker.Typers$Typer.typedPackageDef$1(Typers.scala:5012) | |
at scala.tools.nsc.typechecker.Typers$Typer.typedMemberDef$1(Typers.scala:5312) | |
at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:5359) | |
at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5396) | |
at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5423) | |
at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5370) | |
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5374) | |
at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:5448) | |
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.apply(Analyzer.scala:102) | |
at scala.tools.nsc.Global$GlobalPhase$$anonfun$applyPhase$1.apply$mcV$sp(Global.scala:441) | |
at scala.tools.nsc.Global$GlobalPhase.withCurrentUnit(Global.scala:432) | |
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:441) | |
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:94) | |
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3$$anonfun$run$1.apply(Analyzer.scala:93) | |
at scala.collection.Iterator$class.foreach(Iterator.scala:750) | |
at scala.collection.AbstractIterator.foreach(Iterator.scala:1202) | |
at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:93) | |
at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1500) | |
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1487) | |
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1482) | |
at scala.tools.nsc.Global$Run.compile(Global.scala:1580) | |
at scala.tools.nsc.Driver.doCompile(Driver.scala:32) | |
at scala.tools.nsc.MainClass.doCompile(Main.scala:23) | |
at scala.tools.nsc.Driver.process(Driver.scala:51) | |
at scala.tools.nsc.Driver.main(Driver.scala:64) | |
at scala.tools.nsc.Main.main(Main.scala) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment