diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-09-09 10:06:00 +0200 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-09-10 01:34:00 +0200 |
commit | bf0f9da50983941b8575ffae284d9c90de886020 (patch) | |
tree | b7464c8f529f0be94600a0b72c824607301cfb33 /src/reflect | |
parent | 7fa0e60c47a05f335ab890ef182769699263b3ce (diff) | |
download | scala-bf0f9da50983941b8575ffae284d9c90de886020.tar.gz scala-bf0f9da50983941b8575ffae284d9c90de886020.tar.bz2 scala-bf0f9da50983941b8575ffae284d9c90de886020.zip |
SI-7825 Consider DEFAULTMETHOD when refchecking concreteness
A class should not be required to implement a Java default method.
This commit uses `isDeferredNotDefault` in place of `isDeferred`
when finding unimplemented methods.
The test itself does not depend on Java 8 as we use scalac's
Java source parser to set things up.
Diffstat (limited to 'src/reflect')
-rw-r--r-- | src/reflect/scala/reflect/internal/HasFlags.scala | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/internal/HasFlags.scala b/src/reflect/scala/reflect/internal/HasFlags.scala index 4a3663b8ea..12fd3a31cd 100644 --- a/src/reflect/scala/reflect/internal/HasFlags.scala +++ b/src/reflect/scala/reflect/internal/HasFlags.scala @@ -115,6 +115,9 @@ trait HasFlags { def isSynthetic = hasFlag(SYNTHETIC) def isTrait = hasFlag(TRAIT) && !hasFlag(PARAM) + def isDeferredOrDefault = hasFlag(DEFERRED | DEFAULTMETHOD) + def isDeferredNotDefault = isDeferred && !hasFlag(DEFAULTMETHOD) + def flagBitsToString(bits: Long): String = { // Fast path for common case if (bits == 0L) "" else { |