summaryrefslogtreecommitdiff
path: root/scalalib
diff options
context:
space:
mode:
authorTobias Roeser <le.petit.fou@web.de>2019-02-22 16:02:42 +0100
committerTobias Roeser <le.petit.fou@web.de>2019-02-22 16:17:58 +0100
commitd3069565cace31bb715461b56098bef64bf79961 (patch)
tree10fad245880dcd582da00a249950698732069559 /scalalib
parentf7e75d0d497a569469bc66797b1807baf4c43ca3 (diff)
downloadmill-d3069565cace31bb715461b56098bef64bf79961.tar.gz
mill-d3069565cace31bb715461b56098bef64bf79961.tar.bz2
mill-d3069565cace31bb715461b56098bef64bf79961.zip
Search tests annotations also on inherited public methods
Fixes https://github.com/lihaoyi/mill/issues/553
Diffstat (limited to 'scalalib')
-rw-r--r--scalalib/src/Lib.scala9
1 files changed, 5 insertions, 4 deletions
diff --git a/scalalib/src/Lib.scala b/scalalib/src/Lib.scala
index bd535efd..2706850e 100644
--- a/scalalib/src/Lib.scala
+++ b/scalalib/src/Lib.scala
@@ -126,10 +126,11 @@ object Lib{
case f: AnnotatedFingerprint =>
val annotationCls = cl.loadClass(f.annotationName()).asInstanceOf[Class[Annotation]]
f.isModule == isModule &&
- (
- cls.isAnnotationPresent(annotationCls) ||
- cls.getDeclaredMethods.exists(_.isAnnotationPresent(annotationCls))
- )
+ (
+ cls.isAnnotationPresent(annotationCls) ||
+ cls.getDeclaredMethods.exists(_.isAnnotationPresent(annotationCls)) ||
+ cls.getMethods.exists(m => m.isAnnotationPresent(annotationCls) && Modifier.isPublic(m.getModifiers()))
+ )
}.map { f => (cls, f) }
}