@@ -82,27 +82,43 @@ object SymOps:
8282
8383
8484 // Order here determines order in documenation
85- def getExtraModifiers (): Seq [Modifier ] =
85+ def getExtraModifiers (parser : TastyParser ): Seq [Modifier ] =
8686 import reflect ._
87- Seq (
88- Flags .Final -> Modifier .Final ,
89- Flags .Sealed -> Modifier .Sealed ,
90- Flags .Erased -> Modifier .Erased ,
91- Flags .Abstract -> Modifier .Abstract ,
92- Flags .Deferred -> Modifier .Deferred ,
93- Flags .Implicit -> Modifier .Implicit ,
94- Flags .Infix -> Modifier .Infix ,
95- Flags .Transparent -> Modifier .Transparent ,
96- Flags .Inline -> Modifier .Inline ,
97- Flags .Lazy -> Modifier .Lazy ,
98- Flags .Open -> Modifier .Open ,
99- Flags .Override -> Modifier .Override ,
100- Flags .Case -> Modifier .Case ,
101- Flags .Opaque -> Modifier .Opaque ,
102- Flags .AbsOverride -> Modifier .AbsOverride ,
103- ).collect {
104- case (flag, mod) if sym.flags.is(flag) => mod
105- }
87+ def getModifiersFromFlags : Seq [Modifier ] =
88+ Seq (
89+ Flags .Final -> Modifier .Final ,
90+ Flags .Sealed -> Modifier .Sealed ,
91+ Flags .Erased -> Modifier .Erased ,
92+ Flags .Abstract -> Modifier .Abstract ,
93+ Flags .Deferred -> Modifier .Deferred ,
94+ Flags .Implicit -> Modifier .Implicit ,
95+ Flags .Infix -> Modifier .Infix ,
96+ Flags .Transparent -> Modifier .Transparent ,
97+ Flags .Inline -> Modifier .Inline ,
98+ Flags .Lazy -> Modifier .Lazy ,
99+ Flags .Open -> Modifier .Open ,
100+ Flags .Override -> Modifier .Override ,
101+ Flags .Case -> Modifier .Case ,
102+ Flags .Opaque -> Modifier .Opaque ,
103+ Flags .AbsOverride -> Modifier .AbsOverride ,
104+ ).collect {
105+ case (flag, mod) if sym.flags.is(flag) => mod
106+ }
107+ end getModifiersFromFlags
108+
109+ def isConsumeModifier (sym : Symbol ): Boolean =
110+ parser.ccEnabled && sym.hasAnnotation(cc.CaptureDefs .ConsumeAnnot )
111+
112+ def getModifiersFromAnnotations : Seq [Modifier ] =
113+ Seq (
114+ isConsumeModifier -> Modifier .Consume
115+ ).collect {
116+ case (predicate, mod) if predicate(sym) => mod
117+ }
118+ end getModifiersFromAnnotations
119+
120+ getModifiersFromFlags ++ getModifiersFromAnnotations
121+ end getExtraModifiers
106122
107123 def isHiddenByVisibility (using dctx : DocContext ): Boolean =
108124 import VisibilityScope ._
0 commit comments