diff options
author | Tobias Roeser <le.petit.fou@web.de> | 2019-02-22 16:02:42 +0100 |
---|---|---|
committer | Tobias Roeser <le.petit.fou@web.de> | 2019-02-22 16:17:58 +0100 |
commit | d3069565cace31bb715461b56098bef64bf79961 (patch) | |
tree | 10fad245880dcd582da00a249950698732069559 | |
parent | f7e75d0d497a569469bc66797b1807baf4c43ca3 (diff) | |
download | mill-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
-rw-r--r-- | scalalib/src/Lib.scala | 9 |
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) } } |