Created
May 21, 2014 08:02
-
-
Save retronym/e533b3f35d6b5288c36b to your computer and use it in GitHub Desktop.
SI-8607
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
--- sandbox/good.log 2014-05-21 07:08:00.000000000 +0200 | |
+++ sandbox/bad.log 2014-05-21 07:08:10.000000000 +0200 | |
@@ -1,693 +1,775 @@ | |
[running phase parser on t8607.scala] | |
[running phase namer on t8607.scala] | |
[running phase packageobjects on t8607.scala] | |
[running phase typer on t8607.scala] | |
[running phase patmat on t8607.scala] | |
[running phase superaccessors on t8607.scala] | |
[running phase extmethods on t8607.scala] | |
[running phase pickler on t8607.scala] | |
[running phase refchecks on t8607.scala] | |
[running phase uncurry on t8607.scala] | |
[running phase tailcalls on t8607.scala] | |
[running phase specialize on t8607.scala] | |
[running phase explicitouter on t8607.scala] | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term <empty> | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / Ident(<empty>) | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term p1 | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / Ident(p1) | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / type B | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / Template(value <local B>) | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / Template(value <local B>) | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term $init$ | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term a | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / type C | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / Template(value <local C>) | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / Template(value <local C>) | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term value | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term value | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term <init> | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term value | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term hashCode | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term equals | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term x$1 | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / type C | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / Template(value <local C>) | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / Template(value <local C>) | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term <init> | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term hashCode$extension | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term $this | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term equals$extension | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term $this | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term x$1 | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term x1 | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term C$1 | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / type Test | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / Template(value <local Test>) | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / Template(value <local Test>) | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term <init> | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term main | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term args | |
[log explicitouter(->erasure)] [context] ++ t8607.scala / term c | |
[running phase erasure on t8607.scala] | |
[log erasure] [context] ++ NoCompilationUnit / Import(value <import>) | |
[log erasure] [context] ++ NoCompilationUnit / Import(value <import>) | |
[log erasure] [context] ++ NoCompilationUnit / Import(value <import>) | |
[log erasure] [context] ++ t8607.scala / EmptyTree | |
[log erasure] [context] ++ t8607.scala / term <empty> | |
[log erasure] [context] ++ t8607.scala / Ident(<empty>) | |
[log erasure] [context] ++ t8607.scala / term p1 | |
[log erasure] [context] ++ t8607.scala / Ident(p1) | |
[log erasure] defs of trait B = Scope{ | |
<method> def $init$(): scala.this.Unit; | |
<method> <triedcooking> def a(): scala.this.Any | |
} | |
[log erasure] [context] ++ t8607.scala / type B | |
[log erasure] [context] ++ t8607.scala / Template(value <local B>) | |
[log erasure] [context] ++ t8607.scala / term $init$ | |
[log erasure] [context] ++ t8607.scala / term a | |
[log erasure] defs of class C = Scope{ | |
<method> <stable> <accessor> <paramaccessor> <triedcooking> val value(): scala.this.Int; | |
<paramaccessor> <triedcooking> private[this] val value : scala.this.Int; | |
<method> <triedcooking> def <init>(<param> value: scala.this.Int): p1.this.C; | |
<method> override <synthetic> def hashCode(): scala.this.Int; | |
<method> override <synthetic> def equals(<param> <synthetic> <triedcooking> x$1: scala.this.Any): scala.this.Boolean | |
} | |
[log erasure] [context] ++ t8607.scala / type C | |
[log erasure] Considering for erasure clash: | |
Cursor(in class C) { | |
high <method> <triedcooking> def hashCode(): scala.this.Int in class Any | |
erased ()scala.this.Int | |
infos parser: ()scala.this.Int | |
low <method> override <synthetic> def hashCode(): scala.this.Int at line 6 | |
erased ()scala.this.Int | |
infos typer: ()scala.this.Int, posterasure: ()scala.this.Int | |
} | |
[log erasure] Considering for erasure clash: | |
Cursor(in class C) { | |
high <method> <triedcooking> def equals(<param> <synthetic> x$1: scala.this.Any): scala.this.Boolean in class Any | |
erased (<param> <synthetic> x$1: lang.this.Object)scala.this.Boolean | |
infos parser: (<param> <synthetic> x$1: scala.this.Any)scala.this.Boolean | |
low <method> override <synthetic> def equals(<param> <synthetic> <triedcooking> x$1: scala.this.Any): scala.this.Boolean at line 6 | |
erased (<param> <synthetic> <triedcooking> x$1: lang.this.Object)scala.this.Boolean | |
infos typer: (<param> <synthetic> <triedcooking> x$1: scala.this.Any)scala.this.Boolean, posterasure: (<param> <synthetic> <triedcooking> x$1: lang.this.Object)scala.this.Boolean | |
} | |
[log erasure] [context] ++ t8607.scala / Template(value <local C>) | |
[log erasure] [context] ++ t8607.scala / term value | |
[log erasure] [context] ++ t8607.scala / term value | |
[log erasure] [context] ++ t8607.scala / term <init> | |
[log erasure] [context] ++ t8607.scala / term value | |
[log erasure] [context] ++ t8607.scala / term hashCode | |
[log erasure] [context] ++ t8607.scala / term equals | |
[log erasure] [context] ++ t8607.scala / term x$1 | |
[log erasure] defs of module class C = Scope{ | |
<method> def <init>(): p1.this.C.type; | |
<method> final <synthetic> <triedcooking> def hashCode$extension(<param> $this: p1.this.C): scala.this.Int; | |
<method> final <synthetic> <triedcooking> def equals$extension(<param> $this: p1.this.C,<param> <synthetic> <triedcooking> x$1: scala.this.Any): scala.this.Boolean | |
} | |
[log erasure] [context] ++ t8607.scala / type C | |
[log erasure] [context] ++ t8607.scala / Template(value <local C>) | |
[log erasure] [context] ++ t8607.scala / term <init> | |
[log erasure] [context] ++ t8607.scala / term hashCode$extension | |
[log erasure] [context] ++ t8607.scala / term $this | |
[log erasure] [context] ++ t8607.scala / term equals$extension | |
[log erasure] [context] ++ t8607.scala / term $this | |
[log erasure] [context] ++ t8607.scala / term x$1 | |
[log erasure] [context] ++ t8607.scala / term x1 | |
[log erasure] [context] ++ t8607.scala / term C$1 | |
[log erasure] defs of module class Test = Scope{ | |
<method> def <init>(): <empty>.this.Test.type; | |
<method> def main(<param> args: scala.this.Array[lang.this.String]): scala.this.Unit | |
} | |
[log erasure] [context] ++ t8607.scala / type Test | |
[log erasure] [context] ++ t8607.scala / Template(value <local Test>) | |
[log erasure] [context] ++ t8607.scala / term <init> | |
[log erasure] [context] ++ t8607.scala / term main | |
[log erasure] [context] ++ t8607.scala / term args | |
[log erasure] [context] ++ t8607.scala / term c | |
+[log erasure] casting c:c.type to p1.this.C at phase: erasure | |
+[log erasure] [context] ++ NoCompilationUnit / Apply(method $asInstanceOf) | |
+[log erasure] checkKindBounds0(List(type T0), List(p1.this.C), <noprefix>, <none>, true) | |
[log erasure(->posterasure ->posterasure)] trait B in package class p1 impl class is B$class | |
[log erasure(->posterasure)] LazyImplClassType completing implementation class B$class | |
[log erasure(->posterasure)] LazyImplClassType calculating decls for implementation class B$class | |
[log erasure(->posterasure)] Destructively modifying owner of method $init$ from trait B to implementation class B$class | |
[log erasure(->posterasure)] Cloned a from trait B into implClass p1.B$class | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Template | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Import(value <import>) | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Import(value <import>) | |
[log erasure(->posterasure ->explicitouter)] [class] >> scala.inline | |
[log erasure(->posterasure ->explicitouter)] [class] << scala.inline | |
[log erasure(->posterasure ->explicitouter)] ClassfileLoader setting inline.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/inline.class | |
[log erasure(->posterasure ->explicitouter)] [class] >> scala.annotation.unspecialized | |
[log erasure(->posterasure ->explicitouter)] [class] << scala.annotation.unspecialized | |
[log erasure(->posterasure ->explicitouter)] ClassfileLoader setting unspecialized.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/annotation/unspecialized.class | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] >> scala.runtime.RichByte | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] << scala.runtime.RichByte | |
[log erasure(->posterasure ->explicitouter ->parser)] ClassfileLoader setting RichByte.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/runtime/RichByte.class | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] >> scala.runtime.RichShort | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] << scala.runtime.RichShort | |
[log erasure(->posterasure ->explicitouter ->parser)] ClassfileLoader setting RichShort.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/runtime/RichShort.class | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] >> scala.runtime.RichInt | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] << scala.runtime.RichInt | |
[log erasure(->posterasure ->explicitouter ->parser)] ClassfileLoader setting RichInt.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/runtime/RichInt.class | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] >> scala.runtime.RichChar | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] << scala.runtime.RichChar | |
[log erasure(->posterasure ->explicitouter ->parser)] ClassfileLoader setting RichChar.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/runtime/RichChar.class | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] >> scala.runtime.RichLong | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] << scala.runtime.RichLong | |
[log erasure(->posterasure ->explicitouter ->parser)] ClassfileLoader setting RichLong.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/runtime/RichLong.class | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] >> scala.runtime.RichFloat | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] << scala.runtime.RichFloat | |
[log erasure(->posterasure ->explicitouter ->parser)] ClassfileLoader setting RichFloat.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/runtime/RichFloat.class | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] >> scala.runtime.RichDouble | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] << scala.runtime.RichDouble | |
[log erasure(->posterasure ->explicitouter ->parser)] ClassfileLoader setting RichDouble.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/runtime/RichDouble.class | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] >> scala.runtime.RichBoolean | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] << scala.runtime.RichBoolean | |
[log erasure(->posterasure ->explicitouter ->parser)] ClassfileLoader setting RichBoolean.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/runtime/RichBoolean.class | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] >> scala.collection.mutable.WrappedArray | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] << scala.collection.mutable.WrappedArray | |
[log erasure(->posterasure ->explicitouter ->parser)] ClassfileLoader setting WrappedArray.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/collection/mutable/WrappedArray.class | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] >> scala.collection.parallel.mutable.package | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] << scala.collection.parallel.mutable.package | |
[log erasure(->posterasure ->explicitouter ->parser)] ClassfileLoader setting package.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/collection/parallel/mutable/package.class | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] >> scala.collection.immutable.WrappedString | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] << scala.collection.immutable.WrappedString(scala.this.deprecatedInheritance("Inherit from StringLike instead of WrappedString.", "2.11.0")) | |
[log erasure(->posterasure ->explicitouter ->parser)] ClassfileLoader setting WrappedString.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/collection/immutable/WrappedString.class | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] >> scala.collection.generic.CanBuildFrom | |
[log erasure(->posterasure ->explicitouter ->parser)] [class] << scala.collection.generic.CanBuildFrom(annotation.this.implicitNotFound("Cannot construct a collection of type ${To} with elements of type ${Elem} based on a collection of type ${From}.")) | |
[log erasure(->posterasure ->explicitouter ->parser)] ClassfileLoader setting CanBuildFrom.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/collection/generic/CanBuildFrom.class | |
[log erasure(->posterasure ->explicitouter ->typer ->parser)] [class] >> scala.collection.IndexedSeq | |
[log erasure(->posterasure ->explicitouter ->typer ->parser)] [class] << scala.collection.IndexedSeq | |
[log erasure(->posterasure ->explicitouter ->typer ->parser)] ClassfileLoader setting IndexedSeq.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/collection/IndexedSeq.class | |
[log erasure(->posterasure ->explicitouter ->typer ->parser)] [class] >> scala.collection.immutable.List | |
[log erasure(->posterasure ->explicitouter ->typer ->parser)] [class] << scala.collection.immutable.List | |
[log erasure(->posterasure ->explicitouter ->typer ->parser)] ClassfileLoader setting List.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/collection/immutable/List.class | |
[log erasure(->posterasure ->explicitouter ->typer ->parser)] [class] >> scala.Tuple2 | |
[log erasure(->posterasure ->explicitouter ->typer ->parser)] [class] << scala.Tuple2(scala.this.deprecatedInheritance("Tuples will be made final in a future version.", "2.11.0")) | |
[log erasure(->posterasure ->explicitouter ->typer ->parser)] ClassfileLoader setting Tuple2.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/Tuple2.class | |
[log erasure(->posterasure ->explicitouter ->typer ->parser)] [class] >> scala.Tuple3 | |
[log erasure(->posterasure ->explicitouter ->typer ->parser)] [class] << scala.Tuple3(scala.this.deprecatedInheritance("Tuples will be made final in a future version.", "2.11.0")) | |
[log erasure(->posterasure ->explicitouter ->typer ->parser)] ClassfileLoader setting Tuple3.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/Tuple3.class | |
[log erasure(->posterasure ->parser)] [class] >> scala.reflect.Manifest | |
[log erasure(->posterasure ->parser)] [class] << scala.reflect.Manifest(annotation.this.implicitNotFound("No Manifest available for ${T}.")) | |
[log erasure(->posterasure ->parser)] ClassfileLoader setting Manifest.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/reflect/Manifest.class | |
[log erasure(->posterasure ->parser)] [class] >> scala.reflect.ClassTag | |
[log erasure(->posterasure ->parser)] [class] << scala.reflect.ClassTag(annotation.this.implicitNotFound("No ClassTag available for ${T}")) | |
[log erasure(->posterasure ->parser)] ClassfileLoader setting ClassTag.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/reflect/ClassTag.class | |
[log erasure(->posterasure ->parser)] [class] >> scala.reflect.OptManifest | |
[log erasure(->posterasure ->parser)] [class] << scala.reflect.OptManifest | |
[log erasure(->posterasure ->parser)] ClassfileLoader setting OptManifest.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/reflect/OptManifest.class | |
[log erasure(->posterasure)] [class] >> scala.annotation.elidable | |
[log erasure(->posterasure)] [class] << scala.annotation.elidable | |
[log erasure(->posterasure)] ClassfileLoader setting elidable.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/annotation/elidable.class | |
[log erasure(->posterasure ->parser)] [class] >> scala.collection.immutable.StringOps | |
[log erasure(->posterasure ->parser)] [class] << scala.collection.immutable.StringOps | |
[log erasure(->posterasure ->parser)] ClassfileLoader setting StringOps.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/collection/immutable/StringOps.class | |
[log erasure(->posterasure ->typer ->parser)] [class] >> scala.runtime.Tuple2Zipped | |
[log erasure(->posterasure ->typer ->parser)] [class] << scala.runtime.Tuple2Zipped | |
[log erasure(->posterasure ->typer ->parser)] ClassfileLoader setting Tuple2Zipped.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/runtime/Tuple2Zipped.class | |
[log erasure(->posterasure ->typer ->parser)] [class] >> scala.runtime.Tuple3Zipped | |
[log erasure(->posterasure ->typer ->parser)] [class] << scala.runtime.Tuple3Zipped | |
[log erasure(->posterasure ->typer ->parser)] ClassfileLoader setting Tuple3Zipped.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/runtime/Tuple3Zipped.class | |
[log erasure(->posterasure ->parser)] [class] >> scala.collection.mutable.ArrayOps | |
[log erasure(->posterasure ->parser)] [class] << scala.collection.mutable.ArrayOps(scala.this.deprecatedInheritance("ArrayOps will be sealed to facilitate greater flexibility with array/collections integration in future releases.", "2.11.0")) | |
[log erasure(->posterasure ->parser)] ClassfileLoader setting ArrayOps.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/collection/mutable/ArrayOps.class | |
[log erasure(->posterasure ->parser)] [class] >> java.lang.Byte | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Comparable[lang.this.Byte] | |
[log erasure(->posterasure ->parser)] raw type from class Class: lang.this.Class[?0] forSome { type ?0 } | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Class[lang.this.Byte] | |
[log erasure(->posterasure ->parser)] [class] >> java.lang.NumberFormatException | |
[log erasure(->posterasure ->parser)] ClassfileLoader setting NumberFormatException.associatedFile = /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Classes/classes.jar(java/lang/NumberFormatException.class) | |
[log erasure(->posterasure ->parser)] ClassfileLoader setting Byte.associatedFile = /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Classes/classes.jar(java/lang/Byte.class) | |
[log erasure(->posterasure ->parser)] [class] >> java.lang.Short | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Comparable[lang.this.Short] | |
[log erasure(->posterasure ->parser)] raw type from class Class: lang.this.Class[?0] forSome { type ?0 } | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Class[lang.this.Short] | |
[log erasure(->posterasure ->parser)] ClassfileLoader setting Short.associatedFile = /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Classes/classes.jar(java/lang/Short.class) | |
[log erasure(->posterasure ->parser)] [class] >> java.lang.Character | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Comparable[lang.this.Character] | |
[log erasure(->posterasure ->parser)] raw type from class Class: lang.this.Class[?0] forSome { type ?0 } | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Class[lang.this.Character] | |
[log erasure(->posterasure ->parser)] [class] << java.lang.Character.isJavaLetter(lang.this.Deprecated, scala.this.deprecated("see corresponding Javadoc for more information.", "")) | |
[log erasure(->posterasure ->parser)] [class] << java.lang.Character.isJavaLetterOrDigit(lang.this.Deprecated, scala.this.deprecated("see corresponding Javadoc for more information.", "")) | |
[log erasure(->posterasure ->parser)] [class] << java.lang.Character.isSpace(lang.this.Deprecated, scala.this.deprecated("see corresponding Javadoc for more information.", "")) | |
[log erasure(->posterasure ->parser)] ClassfileLoader setting Character.associatedFile = /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Classes/classes.jar(java/lang/Character.class) | |
[log erasure(->posterasure ->parser)] [class] >> java.lang.Integer | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Comparable[lang.this.Integer] | |
[log erasure(->posterasure ->parser)] raw type from class Class: lang.this.Class[?0] forSome { type ?0 } | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Class[lang.this.Integer] | |
[log erasure(->posterasure ->parser)] ClassfileLoader setting Integer.associatedFile = /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Classes/classes.jar(java/lang/Integer.class) | |
[log erasure(->posterasure ->parser)] [class] >> java.lang.Long | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Comparable[lang.this.Long] | |
[log erasure(->posterasure ->parser)] raw type from class Class: lang.this.Class[?0] forSome { type ?0 } | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Class[lang.this.Long] | |
[log erasure(->posterasure ->parser)] ClassfileLoader setting Long.associatedFile = /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Classes/classes.jar(java/lang/Long.class) | |
[log erasure(->posterasure ->parser)] [class] >> java.lang.Float | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Comparable[lang.this.Float] | |
[log erasure(->posterasure ->parser)] raw type from class Class: lang.this.Class[?0] forSome { type ?0 } | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Class[lang.this.Float] | |
[log erasure(->posterasure ->parser)] ClassfileLoader setting Float.associatedFile = /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Classes/classes.jar(java/lang/Float.class) | |
[log erasure(->posterasure ->parser)] [class] >> java.lang.Double | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Comparable[lang.this.Double] | |
[log erasure(->posterasure ->parser)] raw type from class Class: lang.this.Class[?0] forSome { type ?0 } | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Class[lang.this.Double] | |
[log erasure(->posterasure ->parser)] ClassfileLoader setting Double.associatedFile = /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Classes/classes.jar(java/lang/Double.class) | |
[log erasure(->posterasure ->parser)] [class] >> java.lang.Boolean | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Comparable[lang.this.Boolean] | |
[log erasure(->posterasure ->parser)] raw type from class Class: lang.this.Class[?0] forSome { type ?0 } | |
[log erasure(->posterasure ->parser)] new existential: lang.this.Class[lang.this.Boolean] | |
[log erasure(->posterasure ->parser)] ClassfileLoader setting Boolean.associatedFile = /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Classes/classes.jar(java/lang/Boolean.class) | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Import(value <import>) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term <empty> | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term <empty> | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term p1 | |
[log erasure(->posterasure)] [context] ++ t8607.scala / type B | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Template(value <local B>) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Template(value <local B>) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term a | |
[log erasure(->posterasure)] [context] ++ t8607.scala / type C | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Template(value <local C>) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Template(value <local C>) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term value | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term value | |
[log erasure(->posterasure)] adapting C.this.value :scala.this.Int : List() to scala.this.Int | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term <init> | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term <init> | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term value | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Block | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(primary constructor AnyVal) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(method $init$) | |
[log erasure(->posterasure)] erasure casts from p1.C to p1.B$class | |
[log erasure(->posterasure)] casting C.this:p1.C to p1.B$class at phase: posterasure | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(method $asInstanceOf) | |
[log erasure(->posterasure)] checkKindBounds0(List(type T0), List(p1.B$class), <noprefix>, <none>, true) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term hashCode | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(method hashCode$extension) | |
[log erasure(->posterasure)] adapting C.this:p1.C : List(lang.this.Object, p1.this.B) to ErasedValueType(class C, scala.this.Int) | |
[log erasure(->posterasure)] adapting C.this:p1.C : List(lang.this.Object, p1.this.B) to p1.C | |
[log erasure(->posterasure)] casting C.this.value():null to ErasedValueType(class C, scala.this.Int) at phase: posterasure | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(method $asInstanceOf) | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(getter value) | |
[log erasure(->posterasure)] checkKindBounds0(List(type T0), List(ErasedValueType(class C, scala.this.Int)), <noprefix>, <none>, true) | |
[log erasure(->posterasure)] unboxing This: p1.C as a ErasedValueType(class C, scala.this.Int) | |
[log erasure(->posterasure)] adapting C.this.value().$asInstanceOf[ErasedValueType(class C, scala.this.Int)]():ErasedValueType(class C, scala.this.Int) : List() to ErasedValueType(class C, scala.this.Int) | |
[log erasure(->posterasure)] adapting p1.this.C.hashCode$extension(C.this.value().$asInstanceOf[ErasedValueType(class C, scala.this.Int)]()):scala.this.Int : List() to scala.this.Int | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term equals | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term x$1 | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(method equals$extension) | |
[log erasure(->posterasure)] adapting C.this:p1.C : List(lang.this.Object, p1.this.B) to ErasedValueType(class C, scala.this.Int) | |
[log erasure(->posterasure)] adapting C.this:p1.C : List(lang.this.Object, p1.this.B) to p1.C | |
[log erasure(->posterasure)] casting C.this.value():null to ErasedValueType(class C, scala.this.Int) at phase: posterasure | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(method $asInstanceOf) | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(getter value) | |
[log erasure(->posterasure)] checkKindBounds0(List(type T0), List(ErasedValueType(class C, scala.this.Int)), <noprefix>, <none>, true) | |
[log erasure(->posterasure)] unboxing This: p1.C as a ErasedValueType(class C, scala.this.Int) | |
[log erasure(->posterasure)] adapting C.this.value().$asInstanceOf[ErasedValueType(class C, scala.this.Int)]():ErasedValueType(class C, scala.this.Int) : List() to ErasedValueType(class C, scala.this.Int) | |
[log erasure(->posterasure)] adapting x$1:lang.this.Object : List() to lang.this.Object | |
[log erasure(->posterasure)] adapting p1.this.C.equals$extension(C.this.value().$asInstanceOf[ErasedValueType(class C, scala.this.Int)](), x$1):scala.this.Boolean : List() to scala.this.Boolean | |
[log erasure(->posterasure)] [context] ++ t8607.scala / type C | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Template(value <local C>) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Template(value <local C>) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term <init> | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Block | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(primary constructor Object) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term hashCode$extension | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term $this | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(method hashCode) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(getter value) | |
[log erasure(->posterasure)] erasure casts from ErasedValueType(class C, scala.this.Int) to scala.this.Int | |
[log erasure(->posterasure)] casting $this:ErasedValueType(class C, scala.this.Int) to scala.this.Int at phase: posterasure | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(method $asInstanceOf) | |
[log erasure(->posterasure)] checkKindBounds0(List(type T0), List(scala.this.Int), <noprefix>, <none>, true) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply | |
[log erasure(->posterasure)] adapting $this.$asInstanceOf[scala.this.Int]():scala.this.Int : List() to scala.this.Int | |
[log erasure(->posterasure)] boxing Ident($this): ErasedValueType(class C, scala.this.Int) into owner class C: p1.this.C | |
[log erasure(->posterasure -><some phase>)] [class] >> scala.AnyValCompanion | |
[log erasure(->posterasure -><some phase>)] [class] << scala.AnyValCompanion | |
[log erasure(->posterasure -><some phase>)] ClassfileLoader setting AnyValCompanion.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/AnyValCompanion.class | |
[log erasure(->posterasure -><some phase>)] [class] >> scala.Specializable | |
[log erasure(->posterasure -><some phase>)] [class] << scala.Specializable | |
[log erasure(->posterasure -><some phase>)] ClassfileLoader setting Specializable.associatedFile = /Users/jason/code/scala/build/quick/classes/library/scala/Specializable.class | |
[log erasure(->posterasure ->parser)] [class] >> java.lang.Number | |
[log erasure(->posterasure ->parser)] ClassfileLoader setting Number.associatedFile = /Library/Java/JavaVirtualMachines/1.6.0_65-b14-462.jdk/Contents/Classes/classes.jar(java/lang/Number.class) | |
[log erasure(->posterasure)] boxing Apply(getter value): scala.this.Int into owner class Object: lang.this.Object | |
[log erasure(->posterasure)] adapting scala.Int.box(new p1.C.<init>($this.$asInstanceOf[scala.this.Int]()).value()).hashCode():scala.this.Int : List() to scala.this.Int | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term equals$extension | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term $this | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term x$1 | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(method $amp$amp) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Block | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term x1 | |
[log erasure(->posterasure)] adapting x$1:lang.this.Object : List() to lang.this.Object | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(method isInstanceOf) | |
[log erasure(->posterasure)] checkKindBounds0(List(type T0), List(p1.C), <noprefix>, <none>, true) | |
[log erasure(->posterasure)] adapting x1.$isInstanceOf[p1.C]():scala.this.Boolean : List() to scala.this.Boolean | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(method matchEnd4) | |
[log erasure(->posterasure)] adapting true:scala.this.Boolean(true) : List() to scala.this.Boolean | |
[log erasure(->posterasure)] adapting matchEnd4(true):scala.this.Boolean : List() to scala.this.Boolean | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(method case6) | |
[log erasure(->posterasure)] adapting case6():scala.this.Boolean : List() to scala.this.Boolean | |
[log erasure(->posterasure)] adapting matchEnd4(true):scala.this.Boolean : List() to scala.this.Boolean | |
[log erasure(->posterasure)] adapting case6():scala.this.Boolean : List() to scala.this.Boolean | |
[log erasure(->posterasure)] adapting if (x1.$isInstanceOf[p1.C]()) | |
matchEnd4(true) | |
else | |
case6():scala.this.Boolean : List() to scala.this.Boolean | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(method matchEnd4) | |
[log erasure(->posterasure)] adapting false:scala.this.Boolean(false) : List() to scala.this.Boolean | |
[log erasure(->posterasure)] adapting matchEnd4(false):scala.this.Boolean : List() to scala.this.Boolean | |
[log erasure(->posterasure)] adapting x:scala.this.Boolean : List() to scala.this.Boolean | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Block | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term C$1 | |
[log erasure(->posterasure)] adapting x$1:lang.this.Object : List() to lang.this.Object | |
[log erasure(->posterasure)] adapting x$1:lang.this.Object : List() to p1.C | |
[log erasure(->posterasure)] casting x$1:lang.this.Object to p1.C at phase: posterasure | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(method $asInstanceOf) | |
[log erasure(->posterasure)] checkKindBounds0(List(type T0), List(p1.C), <noprefix>, <none>, true) | |
[log erasure(->posterasure)] casting x$1.$asInstanceOf[p1.C]().value():null to ErasedValueType(class C, scala.this.Int) at phase: posterasure | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(method $asInstanceOf) | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(getter value) | |
[log erasure(->posterasure)] checkKindBounds0(List(type T0), List(ErasedValueType(class C, scala.this.Int)), <noprefix>, <none>, true) | |
[log erasure(->posterasure)] unboxing Ident: lang.this.Object as a ErasedValueType(class C, scala.this.Int) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(method $asInstanceOf) | |
[log erasure(->posterasure)] adapting x$1.$asInstanceOf[p1.C]().value().$asInstanceOf[ErasedValueType(class C, scala.this.Int)]():ErasedValueType(class C, scala.this.Int) : List() to ErasedValueType(class C, scala.this.Int) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(method $eq$eq) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(getter value) | |
[log erasure(->posterasure)] erasure casts from ErasedValueType(class C, scala.this.Int) to scala.this.Int | |
[log erasure(->posterasure)] casting $this:ErasedValueType(class C, scala.this.Int) to scala.this.Int at phase: posterasure | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(method $asInstanceOf) | |
[log erasure(->posterasure)] checkKindBounds0(List(type T0), List(scala.this.Int), <noprefix>, <none>, true) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply | |
[log erasure(->posterasure)] adapting $this.$asInstanceOf[scala.this.Int]():scala.this.Int : List() to scala.this.Int | |
[log erasure(->posterasure)] boxing Ident($this): ErasedValueType(class C, scala.this.Int) into owner class C: p1.this.C | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(getter value) | |
[log erasure(->posterasure)] erasure casts from ErasedValueType(class C, scala.this.Int) to scala.this.Int | |
[log erasure(->posterasure)] casting C$1:ErasedValueType(class C, scala.this.Int) to scala.this.Int at phase: posterasure | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(method $asInstanceOf) | |
[log erasure(->posterasure)] checkKindBounds0(List(type T0), List(scala.this.Int), <noprefix>, <none>, true) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply | |
[log erasure(->posterasure)] adapting C$1.$asInstanceOf[scala.this.Int]():scala.this.Int : List() to scala.this.Int | |
[log erasure(->posterasure)] boxing Ident(C$1): ErasedValueType(class C, scala.this.Int) into owner class C: p1.this.C | |
[log erasure(->posterasure)] adapting new p1.C.<init>(C$1.$asInstanceOf[scala.this.Int]()).value():scala.this.Int : List() to scala.this.Int | |
[log erasure(->posterasure)] adapting new p1.C.<init>($this.$asInstanceOf[scala.this.Int]()).value().$eq$eq(new p1.C.<init>(C$1.$asInstanceOf[scala.this.Int]()).value()):scala.this.Boolean : List() to scala.this.Boolean | |
[log erasure(->posterasure)] adapting { | |
<synthetic> <triedcooking> val C$1: ErasedValueType(class C, scala.this.Int) = x$1.$asInstanceOf[p1.C]().value().$asInstanceOf[ErasedValueType(class C, scala.this.Int)](); | |
new p1.C.<init>($this.$asInstanceOf[scala.this.Int]()).value().$eq$eq(new p1.C.<init>(C$1.$asInstanceOf[scala.this.Int]()).value()) | |
}:scala.this.Boolean : List() to scala.this.Boolean | |
[log erasure(->posterasure)] adapting { | |
case <synthetic> val x1: lang.this.Object = x$1; | |
case5(){ | |
if (x1.$isInstanceOf[p1.C]()) | |
matchEnd4(true) | |
else | |
case6() | |
}; | |
case6(){ | |
matchEnd4(false) | |
}; | |
matchEnd4(x: scala.this.Boolean){ | |
x | |
} | |
}.$amp$amp({ | |
<synthetic> <triedcooking> val C$1: ErasedValueType(class C, scala.this.Int) = x$1.$asInstanceOf[p1.C]().value().$asInstanceOf[ErasedValueType(class C, scala.this.Int)](); | |
new p1.C.<init>($this.$asInstanceOf[scala.this.Int]()).value().$eq$eq(new p1.C.<init>(C$1.$asInstanceOf[scala.this.Int]()).value()) | |
}):scala.this.Boolean : List() to scala.this.Boolean | |
[log erasure(->posterasure)] [context] ++ t8607.scala / type B$class | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Template(value <local B$class>) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Template(value <local B$class>) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term $init$ | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Block | |
[log erasure(->posterasure)] adapting ():scala.this.Unit : List() to scala.this.Unit | |
[log erasure(->posterasure)] adapting { | |
() | |
}:scala.this.Unit : List() to scala.this.Unit | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term a | |
[log erasure(->posterasure)] adapting "":lang.this.String("") : List(lang.this.Object, io.this.Serializable, lang.this.Comparable, lang.this.CharSequence) to lang.this.Object | |
[log erasure(->posterasure)] [context] ++ t8607.scala / type Test | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Template(value <local Test>) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Template(value <local Test>) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term <init> | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Block | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(primary constructor Object) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term main | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term args | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Block | |
[log erasure(->posterasure)] [context] ++ t8607.scala / term c | |
[log erasure(->posterasure)] transforming inject 42 -> p1.this.C/scala.this.Int | |
[log erasure(->posterasure)] adapting 42:scala.this.Int(42) : List() to scala.this.Int | |
[log erasure(->posterasure)] transformed inject 42 -> p1.this.C/scala.this.Int = 42:scala.this.Int(42) | |
[log erasure(->posterasure)] adapting 42:ErasedValueType(class C, scala.this.Int(42)) : List() to ErasedValueType(class C, scala.this.Int) | |
[log erasure(->posterasure)] erasure casts from ErasedValueType(class C, scala.this.Int(42)) to scala.this.Int | |
[log erasure(->posterasure)] casting 42:ErasedValueType(class C, scala.this.Int(42)) to scala.this.Int at phase: posterasure | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(method $asInstanceOf) | |
[log erasure(->posterasure)] checkKindBounds0(List(type T0), List(scala.this.Int), <noprefix>, <none>, true) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply | |
[log erasure(->posterasure)] adapting 42.$asInstanceOf[scala.this.Int]():scala.this.Int : List() to scala.this.Int | |
[log erasure(->posterasure)] boxing Literal(Constant(42)): ErasedValueType(class C, scala.this.Int(42)) into ErasedValueType(class C, scala.this.Int): p1.this.C | |
[log erasure(->posterasure)] adapting new p1.C.<init>(42.$asInstanceOf[scala.this.Int]()):p1.this.C : List(lang.this.Object, p1.this.B) to ErasedValueType(class C, scala.this.Int) | |
[log erasure(->posterasure)] adapting new p1.C.<init>(42.$asInstanceOf[scala.this.Int]()):p1.this.C : List(lang.this.Object, p1.this.B) to p1.C | |
[log erasure(->posterasure)] casting new p1.C.<init>(42.$asInstanceOf[scala.this.Int]()).value():null to ErasedValueType(class C, scala.this.Int) at phase: posterasure | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(method $asInstanceOf) | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(getter value) | |
[log erasure(->posterasure)] checkKindBounds0(List(type T0), List(ErasedValueType(class C, scala.this.Int)), <noprefix>, <none>, true) | |
[log erasure(->posterasure)] unboxing Apply: p1.this.C as a ErasedValueType(class C, scala.this.Int) | |
[log erasure(->posterasure)] adapting new p1.C.<init>(42.$asInstanceOf[scala.this.Int]()).value().$asInstanceOf[ErasedValueType(class C, scala.this.Int)]():ErasedValueType(class C, scala.this.Int) : List() to ErasedValueType(class C, scala.this.Int) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Block | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(method a) | |
+[log erasure(->posterasure)] [context] ++ t8607.scala / Apply(method $asInstanceOf) | |
[log erasure(->posterasure)] erasure casts from ErasedValueType(class C, scala.this.Int) to scala.this.Int | |
[log erasure(->posterasure)] casting c:ErasedValueType(class C, scala.this.Int) to scala.this.Int at phase: posterasure | |
[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(method $asInstanceOf) | |
[log erasure(->posterasure)] checkKindBounds0(List(type T0), List(scala.this.Int), <noprefix>, <none>, true) | |
[log erasure(->posterasure)] [context] ++ t8607.scala / Apply | |
[log erasure(->posterasure)] adapting c.$asInstanceOf[scala.this.Int]():scala.this.Int : List() to scala.this.Int | |
-[log erasure(->posterasure)] boxing Ident(c): ErasedValueType(class C, scala.this.Int) into owner trait B: p1.this.C | |
+[log erasure(->posterasure)] boxing Ident(c): ErasedValueType(class C, scala.this.Int) into owner class Object: p1.this.C | |
+[log erasure(->posterasure)] checkKindBounds0(List(type T0), List(ErasedValueType(class C, scala.this.Int)), <noprefix>, <none>, true) | |
+[log erasure(->posterasure)] erasure casts from ErasedValueType(class C, scala.this.Int) to scala.this.Int | |
+[log erasure(->posterasure)] casting new p1.C.<init>(c.$asInstanceOf[scala.this.Int]()).$asInstanceOf[ErasedValueType(class C, scala.this.Int)]():ErasedValueType(class C, scala.this.Int) to scala.this.Int at phase: posterasure | |
+[log erasure(->posterasure)] [context] ++ NoCompilationUnit / Apply(method $asInstanceOf) | |
+[log erasure(->posterasure)] checkKindBounds0(List(type T0), List(scala.this.Int), <noprefix>, <none>, true) | |
+[log erasure(->posterasure)] [context] ++ t8607.scala / Apply | |
+[log erasure(->posterasure)] adapting new p1.C.<init>(c.$asInstanceOf[scala.this.Int]()).$asInstanceOf[ErasedValueType(class C, scala.this.Int)]().$asInstanceOf[scala.this.Int]():scala.this.Int : List() to scala.this.Int | |
+[log erasure(->posterasure)] boxing Apply(method $asInstanceOf): ErasedValueType(class C, scala.this.Int) into owner trait B: p1.this.C | |
[log erasure(->posterasure)] adapting ():scala.this.Unit : List() to scala.this.Unit | |
[log erasure(->posterasure)] adapting { | |
- new p1.C.<init>(c.$asInstanceOf[scala.this.Int]()).a(); | |
+ new p1.C.<init>(new p1.C.<init>(c.$asInstanceOf[scala.this.Int]()).$asInstanceOf[ErasedValueType(class C, scala.this.Int)]().$asInstanceOf[scala.this.Int]()).a(); | |
() | |
}:scala.this.Unit : List() to scala.this.Unit | |
[log erasure(->posterasure)] adapting { | |
<triedcooking> val c: ErasedValueType(class C, scala.this.Int) = new p1.C.<init>(42.$asInstanceOf[scala.this.Int]()).value().$asInstanceOf[ErasedValueType(class C, scala.this.Int)](); | |
{ | |
- new p1.C.<init>(c.$asInstanceOf[scala.this.Int]()).a(); | |
+ new p1.C.<init>(new p1.C.<init>(c.$asInstanceOf[scala.this.Int]()).$asInstanceOf[ErasedValueType(class C, scala.this.Int)]().$asInstanceOf[scala.this.Int]()).a(); | |
() | |
} | |
}:scala.this.Unit : List() to scala.this.Unit | |
[[syntax trees at end of erasure]] // t8607.scala | |
package <empty> { | |
package p1 { | |
- <interface> abstract <defaultparam/trait> <lateinterface> trait B extends lang.this.Object { | |
+ <interface> abstract <defaultparam/trait> <lateinterface> private[p1] trait B extends lang.this.Object { | |
<method> <deferred> <triedcooking> <latedeferred> def a(): lang.this.Object | |
}; | |
final class C extends lang.this.Object with p1.this.B { | |
<paramaccessor> <triedcooking> private[this] val value : scala.this.Int = _; | |
<method> <stable> <accessor> <paramaccessor> <triedcooking> def value(): scala.this.Int = C.this.value ; | |
<method> <triedcooking> def <init>(value: scala.this.Int): p1.this.C = { | |
C.super.<init>(); | |
C.this.$asInstanceOf[p1.B$class]()./*B$class*/$init$(); | |
() | |
}; | |
<method> override <synthetic> def hashCode(): scala.this.Int = p1.this.C.hashCode$extension(C.this.value().$asInstanceOf[ErasedValueType(class C, scala.this.Int)]()); | |
<method> override <synthetic> def equals(x$1: lang.this.Object): scala.this.Boolean = p1.this.C.equals$extension(C.this.value().$asInstanceOf[ErasedValueType(class C, scala.this.Int)](), x$1) | |
}; | |
<module> <synthetic> object C extends lang.this.Object { | |
<method> def <init>(): p1.this.C.type = { | |
C.super.<init>(); | |
() | |
}; | |
<method> final <synthetic> <triedcooking> def hashCode$extension($this: ErasedValueType(class C, scala.this.Int)): scala.this.Int = scala.Int.box(new p1.C.<init>($this.$asInstanceOf[scala.this.Int]()).value()).hashCode(); | |
<method> final <synthetic> <triedcooking> def equals$extension($this: ErasedValueType(class C, scala.this.Int), x$1: lang.this.Object): scala.this.Boolean = { | |
case <synthetic> val x1: lang.this.Object = x$1; | |
case5(){ | |
if (x1.$isInstanceOf[p1.C]()) | |
matchEnd4(true) | |
else | |
case6() | |
}; | |
case6(){ | |
matchEnd4(false) | |
}; | |
matchEnd4(x: scala.this.Boolean){ | |
x | |
} | |
}.$amp$amp({ | |
<synthetic> <triedcooking> val C$1: ErasedValueType(class C, scala.this.Int) = x$1.$asInstanceOf[p1.C]().value().$asInstanceOf[ErasedValueType(class C, scala.this.Int)](); | |
new p1.C.<init>($this.$asInstanceOf[scala.this.Int]()).value().$eq$eq(new p1.C.<init>(C$1.$asInstanceOf[scala.this.Int]()).value()) | |
}) | |
}; | |
abstract <defaultparam/trait> <implclass/presuper> trait B$class extends lang.this.Object with p1.B { | |
<method> def /*B$class*/$init$(): scala.this.Unit = { | |
() | |
}; | |
<method> <triedcooking> def a(): lang.this.Object = "" | |
} | |
}; | |
<module> object Test extends lang.this.Object { | |
<method> def <init>(): <empty>.this.Test.type = { | |
Test.super.<init>(); | |
() | |
}; | |
<method> def main(args: scala.this.Array[lang.this.String]): scala.this.Unit = { | |
<triedcooking> val c: ErasedValueType(class C, scala.this.Int) = new p1.C.<init>(42.$asInstanceOf[scala.this.Int]()).value().$asInstanceOf[ErasedValueType(class C, scala.this.Int)](); | |
{ | |
- new p1.C.<init>(c.$asInstanceOf[scala.this.Int]()).a(); | |
+ new p1.C.<init>(new p1.C.<init>(c.$asInstanceOf[scala.this.Int]()).$asInstanceOf[ErasedValueType(class C, scala.this.Int)]().$asInstanceOf[scala.this.Int]()).a(); | |
() | |
} | |
} | |
} | |
} | |
[running phase posterasure on t8607.scala] | |
[log posterasure] [context] ++ NoCompilationUnit / Import(value <import>) | |
[log posterasure] [context] ++ NoCompilationUnit / Import(value <import>) | |
[log posterasure] [context] ++ NoCompilationUnit / Import(value <import>) | |
[log posterasure] [context] ++ t8607.scala / EmptyTree | |
[log posterasure] [context] ++ t8607.scala / term <empty> | |
[log posterasure] [context] ++ t8607.scala / Ident(<empty>) | |
[log posterasure] [context] ++ t8607.scala / term p1 | |
[log posterasure] [context] ++ t8607.scala / Ident(p1) | |
[log posterasure] [context] ++ t8607.scala / type B | |
[log posterasure] [context] ++ t8607.scala / Template(value <local B>) | |
[log posterasure] [context] ++ t8607.scala / term a | |
[log posterasure] [context] ++ t8607.scala / type C | |
[log posterasure] [context] ++ t8607.scala / Template(value <local C>) | |
[log posterasure] [context] ++ t8607.scala / term value | |
[log posterasure] [context] ++ t8607.scala / term value | |
[log posterasure] [context] ++ t8607.scala / term <init> | |
[log posterasure] [context] ++ t8607.scala / term value | |
[log posterasure] [context] ++ t8607.scala / term hashCode | |
[log posterasure] Posterasure reduction | |
Old: C.this.value().$asInstanceOf[scala.this.Int]() | |
New: C.this.value() | |
[log posterasure] [context] ++ t8607.scala / term equals | |
[log posterasure] [context] ++ t8607.scala / term x$1 | |
[log posterasure] Posterasure reduction | |
Old: C.this.value().$asInstanceOf[scala.this.Int]() | |
New: C.this.value() | |
[log posterasure] [context] ++ t8607.scala / type C | |
[log posterasure] [context] ++ t8607.scala / Template(value <local C>) | |
[log posterasure] [context] ++ t8607.scala / term <init> | |
[log posterasure] [context] ++ t8607.scala / term hashCode$extension | |
[log posterasure] [context] ++ t8607.scala / term $this | |
[log posterasure] Posterasure reduction | |
Old: $this.$asInstanceOf[scala.this.Int]() | |
New: $this | |
[log posterasure] Posterasure reduction | |
Old: new p1.C.<init>($this.$asInstanceOf[scala.this.Int]()).value() | |
New: $this | |
[log posterasure] [context] ++ t8607.scala / term equals$extension | |
[log posterasure] [context] ++ t8607.scala / term $this | |
[log posterasure] [context] ++ t8607.scala / term x$1 | |
[log posterasure] [context] ++ t8607.scala / term x1 | |
[log posterasure] [context] ++ t8607.scala / term C$1 | |
[log posterasure] Posterasure reduction | |
Old: x$1.$asInstanceOf[p1.C]().value().$asInstanceOf[scala.this.Int]() | |
New: x$1.$asInstanceOf[p1.C]().value() | |
[log posterasure] Posterasure reduction | |
Old: $this.$asInstanceOf[scala.this.Int]() | |
New: $this | |
[log posterasure] Posterasure reduction | |
Old: new p1.C.<init>($this.$asInstanceOf[scala.this.Int]()).value() | |
New: $this | |
[log posterasure] Posterasure reduction | |
Old: C$1.$asInstanceOf[scala.this.Int]() | |
New: C$1 | |
[log posterasure] Posterasure reduction | |
Old: new p1.C.<init>(C$1.$asInstanceOf[scala.this.Int]()).value() | |
New: C$1 | |
[log posterasure] [context] ++ t8607.scala / type B$class | |
[log posterasure] [context] ++ t8607.scala / Template(value <local B$class>) | |
[log posterasure] [context] ++ t8607.scala / term $init$ | |
[log posterasure] [context] ++ t8607.scala / term a | |
[log posterasure] [context] ++ t8607.scala / type Test | |
[log posterasure] [context] ++ t8607.scala / Template(value <local Test>) | |
[log posterasure] [context] ++ t8607.scala / term <init> | |
[log posterasure] [context] ++ t8607.scala / term main | |
[log posterasure] [context] ++ t8607.scala / term args | |
[log posterasure] [context] ++ t8607.scala / term c | |
[log posterasure] Posterasure reduction | |
Old: 42.$asInstanceOf[scala.this.Int]() | |
New: 42 | |
[log posterasure] Posterasure reduction | |
Old: new p1.C.<init>(42.$asInstanceOf[scala.this.Int]()).value() | |
New: 42 | |
[log posterasure] Posterasure reduction | |
Old: new p1.C.<init>(42.$asInstanceOf[scala.this.Int]()).value().$asInstanceOf[scala.this.Int]() | |
New: 42 | |
[log posterasure] Posterasure reduction | |
Old: c.$asInstanceOf[scala.this.Int]() | |
New: c | |
[[syntax trees at end of posterasure]] // t8607.scala | |
package <empty> { | |
package p1 { | |
- <interface> abstract <defaultparam/trait> <lateinterface> trait B extends lang.this.Object { | |
+ <interface> abstract <defaultparam/trait> <lateinterface> private[p1] trait B extends lang.this.Object { | |
<method> <deferred> <triedcooking> <latedeferred> def a(): lang.this.Object | |
}; | |
final class C extends lang.this.Object with p1.this.B { | |
<paramaccessor> <triedcooking> private[this] val value : scala.this.Int = _; | |
<method> <stable> <accessor> <paramaccessor> <triedcooking> def value(): scala.this.Int = C.this.value ; | |
<method> <triedcooking> def <init>(value: scala.this.Int): p1.this.C = { | |
C.super.<init>(); | |
C.this.$asInstanceOf[p1.B$class]()./*B$class*/$init$(); | |
() | |
}; | |
<method> override <synthetic> def hashCode(): scala.this.Int = p1.this.C.hashCode$extension(C.this.value()); | |
<method> override <synthetic> def equals(x$1: lang.this.Object): scala.this.Boolean = p1.this.C.equals$extension(C.this.value(), x$1) | |
}; | |
<module> <synthetic> object C extends lang.this.Object { | |
<method> def <init>(): p1.this.C.type = { | |
C.super.<init>(); | |
() | |
}; | |
<method> final <synthetic> <triedcooking> def hashCode$extension($this: scala.this.Int): scala.this.Int = scala.Int.box($this).hashCode(); | |
<method> final <synthetic> <triedcooking> def equals$extension($this: scala.this.Int, x$1: lang.this.Object): scala.this.Boolean = { | |
case <synthetic> val x1: lang.this.Object = x$1; | |
case5(){ | |
if (x1.$isInstanceOf[p1.C]()) | |
matchEnd4(true) | |
else | |
case6() | |
}; | |
case6(){ | |
matchEnd4(false) | |
}; | |
matchEnd4(x: scala.this.Boolean){ | |
x | |
} | |
}.$amp$amp({ | |
<synthetic> <triedcooking> val C$1: scala.this.Int = x$1.$asInstanceOf[p1.C]().value(); | |
$this.$eq$eq(C$1) | |
}) | |
}; | |
abstract <defaultparam/trait> <implclass/presuper> trait B$class extends lang.this.Object with p1.B { | |
<method> def /*B$class*/$init$(): scala.this.Unit = { | |
() | |
}; | |
<method> <triedcooking> def a(): lang.this.Object = "" | |
} | |
}; | |
<module> object Test extends lang.this.Object { | |
<method> def <init>(): <empty>.this.Test.type = { | |
Test.super.<init>(); | |
() | |
}; | |
<method> def main(args: scala.this.Array[lang.this.String]): scala.this.Unit = { | |
<triedcooking> val c: scala.this.Int = 42; | |
{ | |
- new p1.C.<init>(c).a(); | |
+ new p1.C.<init>(new p1.C.<init>(c).$asInstanceOf[scala.this.Int]().$asInstanceOf[scala.this.Int]()).a(); | |
() | |
} | |
} | |
} | |
} | |
[running phase lazyvals on t8607.scala] | |
[running phase lambdalift on t8607.scala] | |
[running phase constructors on t8607.scala] | |
[running phase flatten on t8607.scala] | |
[running phase mixin on t8607.scala] | |
[running phase cleanup on t8607.scala] | |
[running phase delambdafy on t8607.scala] | |
[running phase icode on t8607.scala] | |
warning: !!! PJUMP(method matchEnd4)/scala.tools.nsc.backend.icode.GenICode$PJUMP is not a control flow instruction | |
warning: !!! PJUMP(method case6)/scala.tools.nsc.backend.icode.GenICode$PJUMP is not a control flow instruction | |
-[running phase jvm on icode] | |
-two warnings found | |
+error: should have been unboxed by erasure: new p1.C.<init>(c).$asInstanceOf[scala.this.Int]() | |
+error: scala.reflect.internal.FatalError: | |
+ should have been unboxed by erasure: new p1.C.<init>(c).$asInstanceOf[scala.this.Int]() | |
+ while compiling: test/files/run/t8607.scala | |
+ during phase: icode | |
+ library version: version 2.11.1-20140520-144426-051456c94b | |
+ compiler version: version 2.11.1-20140520-144426-051456c94b | |
+ reconstructed args: -Ydebug -Ylog:erasure -Ylog:posterasure -Xprint:erasure -Xprint:posterasure | |
+ | |
+ last tree to typer: Ident(value) | |
+ tree position: line 6 of test/files/run/t8607.scala | |
+ tree tpe: scala.this.Int | |
+ symbol: <param> value value | |
+ symbol definition: <param> value: scala.this.Int (a TermSymbol) | |
+ symbol package: p1 | |
+ symbol owners: value value -> primary constructor C -> class C | |
+ call site: primary constructor Test in module class Test in package <empty> | |
+ | |
+== Source file context for tree position == | |
+ | |
+ 3 } | |
+ 4 | |
+ 5 class C(val value: Int) extends AnyVal with B { | |
+ 6 // def b = "" | |
+ 7 } | |
+ 8 } | |
+ 9 | |
+ at scala.reflect.internal.SymbolTable.abort(SymbolTable.scala:58) | |
+ at scala.tools.nsc.Global.abort(Global.scala:269) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadApply1$1(GenICode.scala:629) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:638) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1133) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1131) | |
+ at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:110) | |
+ at scala.collection.immutable.List.foldLeft(List.scala:83) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1131) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadApply3$1(GenICode.scala:697) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:707) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadQualifier(GenICode.scala:1092) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadApply6$1(GenICode.scala:777) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:809) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genStat(GenICode.scala:181) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genStat$1.apply(GenICode.scala:155) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genStat$1.apply(GenICode.scala:155) | |
+ at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:110) | |
+ at scala.collection.immutable.List.foldLeft(List.scala:83) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:915) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:916) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:123) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:71) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:148) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:98) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:71) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:89) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:67) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.apply(GenICode.scala:63) | |
+ at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:430) | |
+ at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:397) | |
+ at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:397) | |
+ at scala.collection.Iterator$class.foreach(Iterator.scala:743) | |
+ at scala.collection.AbstractIterator.foreach(Iterator.scala:1174) | |
+ at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:397) | |
+ at scala.tools.nsc.backend.icode.GenICode$ICodePhase.run(GenICode.scala:55) | |
+ at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1625) | |
+ at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1610) | |
+ at scala.tools.nsc.Global$Run.compileSources(Global.scala:1605) | |
+ at scala.tools.nsc.Global$Run.compile(Global.scala:1703) | |
+ at scala.tools.nsc.Driver.doCompile(Driver.scala:34) | |
+ at scala.tools.nsc.MainClass.doCompile(Main.scala:23) | |
+ at scala.tools.nsc.Driver.process(Driver.scala:55) | |
+ at scala.tools.nsc.Driver.main(Driver.scala:68) | |
+ 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