Closed
Description
Add the following to Reporters
:
def reportsErrorsFor(op: given Context => Unit) given Context: Boolean = {
val initial = errorCount
op
errorCount > initial
}
Do sbt clean; sbt test
. This gives:
[info] Done packaging.
[error] ## Exception when compiling 9 sources to /Users/odersky/workspace/dotty/sbt-bridge/src/target/classes
[error] Type scala.ImplicitFunction1 not present
[error] sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117)
[error] sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)
[error] sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
[error] sun.reflect.generics.repository.ConstructorRepository.getParameterTypes(ConstructorRepository.java:94)
[error] java.lang.reflect.Executable.getGenericParameterTypes(Executable.java:283)
[error] java.lang.reflect.Method.getGenericParameterTypes(Method.java:283)
[error] sbt.internal.inc.ClassToAPI$.parameterTypes(ClassToAPI.scala:566)
[error] sbt.internal.inc.ClassToAPI$.methodToDef(ClassToAPI.scala:318)
[error] sbt.internal.inc.ClassToAPI$.$anonfun$structure$1(ClassToAPI.scala:182)
[error] sbt.internal.inc.ClassToAPI$.$anonfun$mergeMap$1(ClassToAPI.scala:400)
[error] scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.scala:240)
[error] scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
[error] scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
[error] scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:37)
[error] scala.collection.TraversableLike.flatMap(TraversableLike.scala:240)
[error] scala.collection.TraversableLike.flatMap$(TraversableLike.scala:237)
[error] scala.collection.AbstractTraversable.flatMap(Traversable.scala:104)
[error] sbt.internal.inc.ClassToAPI$.merge(ClassToAPI.scala:411)
[error] sbt.internal.inc.ClassToAPI$.mergeMap(ClassToAPI.scala:400)
[error] sbt.internal.inc.ClassToAPI$.structure(ClassToAPI.scala:182)
[error] sbt.internal.inc.ClassToAPI$.x$2$lzycompute$1(ClassToAPI.scala:133)
[error] sbt.internal.inc.ClassToAPI$.x$2$1(ClassToAPI.scala:133)
[error] sbt.internal.inc.ClassToAPI$.instance$lzycompute$1(ClassToAPI.scala:133)
[error] sbt.internal.inc.ClassToAPI$.instance$1(ClassToAPI.scala:133)
[error] sbt.internal.inc.ClassToAPI$.$anonfun$toDefinitions0$1(ClassToAPI.scala:140)
[error] xsbti.api.SafeLazyProxy$$anon$1.get(SafeLazyProxy.scala:26)
[error] xsbti.api.SafeLazy$Impl.get(SafeLazy.java:58)
[error] sbt.internal.inc.ClassToAPI$.$anonfun$process$2(ClassToAPI.scala:29)
[error] scala.collection.immutable.List.foreach(List.scala:388)
[error] scala.collection.generic.TraversableForwarder.foreach(TraversableForwarder.scala:34)
[error] scala.collection.generic.TraversableForwarder.foreach$(TraversableForwarder.scala:34)
[error] scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:43)
[error] sbt.internal.inc.ClassToAPI$.process(ClassToAPI.scala:29)
[error] sbt.internal.inc.javac.AnalyzingJavaCompiler.readAPI$1(AnalyzingJavaCompiler.scala:143)
[error] sbt.internal.inc.javac.AnalyzingJavaCompiler.$anonfun$compile$20(AnalyzingJavaCompiler.scala:161)
[error] sbt.internal.inc.classfile.Analyze$.readInheritanceDependencies$1(Analyze.scala:148)
[error] sbt.internal.inc.classfile.Analyze$.$anonfun$apply$14(Analyze.scala:154)
[error] sbt.internal.inc.classfile.Analyze$.$anonfun$apply$14$adapted(Analyze.scala:81)
[error] scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:788)
[error] scala.collection.mutable.HashMap.$anonfun$foreach$1(HashMap.scala:145)
[error] scala.collection.mutable.HashTable.foreachEntry(HashTable.scala:235)
[error] scala.collection.mutable.HashTable.foreachEntry$(HashTable.scala:228)
If we make op
have a normal function type as is done in #6898 it works.
We have elsewhere in the compiler implicit function types like this. So far I have seen a problem only if such types are in Reporter
. The stack trace seems to suggest some reflective magic that goes wrong.
Metadata
Metadata
Assignees
Labels
No labels