Skip to content

Commit 4265f08

Browse files
authored
Merge pull request #10444 from dotty-staging/add-open-to-falgs
Add Flags.Open to reflection API
2 parents e14c765 + 22ef40a commit 4265f08

File tree

3 files changed

+5
-8
lines changed

3 files changed

+5
-8
lines changed

compiler/src/scala/quoted/runtime/impl/QuoteContextImpl.scala

+1
Original file line numberDiff line numberDiff line change
@@ -2451,6 +2451,7 @@ class QuoteContextImpl private (using val ctx: Context) extends QuoteContext, Qu
24512451
def Mutable: Flags = dotc.core.Flags.Mutable
24522452
def Object: Flags = dotc.core.Flags.Module
24532453
def Opaque: Flags = dotc.core.Flags.Opaque
2454+
def Open: Flags = dotc.core.Flags.Open
24542455
def Override: Flags = dotc.core.Flags.Override
24552456
def Package: Flags = dotc.core.Flags.Package
24562457
def Param: Flags = dotc.core.Flags.Param

library/src/scala/quoted/QuoteContext.scala

+3
Original file line numberDiff line numberDiff line change
@@ -3199,6 +3199,9 @@ trait QuoteContext { self: runtime.QuoteUnpickler & runtime.QuoteMatching =>
31993199
/** Is this symbol `opaque` */
32003200
def Opaque: Flags
32013201

3202+
/** Is this symbol `open` */
3203+
def Open: Flags
3204+
32023205
/** Is this symbol `override` */
32033206
def Override: Flags
32043207

scala3doc/src/dotty/dokka/tasty/SymOps.scala

+1-8
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,6 @@ class SymOps[Q <: QuoteContext](val q: Q):
4747
case (None, None, (false, false, false)) => Visibility.Unrestricted
4848
case _ => throw new Exception(s"Visibility for symbol $sym cannot be determined")
4949

50-
// TODO: #49 Remove it after TASTY-Reflect release with published flag Extension
51-
def hackIsOpen: Boolean = {
52-
import dotty.tools.dotc
53-
given dotc.core.Contexts.Context = qctx.asInstanceOf[scala.quoted.runtime.impl.QuoteContextImpl].ctx
54-
val symbol = sym.asInstanceOf[dotc.core.Symbols.Symbol]
55-
symbol.is(dotc.core.Flags.Open)
56-
}
5750

5851
// Order here determines order in documenation
5952
def getExtraModifiers(): Seq[Modifier] = Seq(
@@ -64,10 +57,10 @@ class SymOps[Q <: QuoteContext](val q: Q):
6457
Flags.Implicit -> Modifier.Implicit,
6558
Flags.Inline -> Modifier.Inline,
6659
Flags.Lazy -> Modifier.Lazy,
60+
Flags.Open -> Modifier.Open,
6761
Flags.Override -> Modifier.Override,
6862
Flags.Case -> Modifier.Case,
6963
).collect { case (flag, mod) if sym.flags.is(flag) => mod }
70-
++ (if(sym.hackIsOpen) Seq(Modifier.Open) else Nil)
7164

7265
def isHiddenByVisibility: Boolean =
7366
import VisibilityScope._

0 commit comments

Comments
 (0)