This kind of thing is a maintenance disaster. It comes up at the moment because of
the fix for which involves adding the MACRO flag to that list. But before I add it in two places like the next guy won't, I thought I'd see if we could do something about that.
It's far from the only example of massive duplication in trunk, unfortunately.
% ack --context=3 'val ExcludedForwarderFlags' src
src/compiler/scala/tools/nsc/backend/jvm/GenASM.scala
1067- // a plain class lacking companion module, for details see `isCandidateForForwarders`).
1068- // -----------------------------------------------------------------------------------------
1069-
1070: val ExcludedForwarderFlags = {
1071- import Flags._
1072- // Should include DEFERRED but this breaks findMember.
1073- ( CASE | SPECIALIZED | LIFTED | PROTECTED | STATIC | EXPANDEDNAME | BridgeAndPrivateFlags )
src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
208- val BeanDisplayNameAttr = definitions.getRequiredClass("scala.beans.BeanDisplayName")
209- val BeanDescriptionAttr = definitions.getRequiredClass("scala.beans.BeanDescription")
210-
211: final val ExcludedForwarderFlags = {
212- import Flags._
213- // Should include DEFERRED but this breaks findMember.
214- ( CASE | SPECIALIZED | LIFTED | PROTECTED | STATIC | EXPANDEDNAME | BridgeAndPrivateFlags )