Skip to content

Commit 7ac31d0

Browse files
authored
Revert "Exclusive capabilities revised" (#22570)
Reverts #22544
2 parents 8cd7a5f + 0d42da5 commit 7ac31d0

File tree

156 files changed

+744
-4061
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

156 files changed

+744
-4061
lines changed

compiler/src/dotty/tools/backend/jvm/BTypesFromSymbols.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,7 @@ class BTypesFromSymbols[I <: DottyBackendInterface](val int: I, val frontendAcce
285285
// tests/run/serialize.scala and https://github.com/typelevel/cats-effect/pull/2360).
286286
val privateFlag = !sym.isClass && (sym.is(Private) || (sym.isPrimaryConstructor && sym.owner.isTopLevelModuleClass))
287287

288-
val finalFlag = sym.is(Final) && !toDenot(sym).isClassConstructor && !sym.isMutableVar && !sym.enclosingClass.is(Trait)
288+
val finalFlag = sym.is(Final) && !toDenot(sym).isClassConstructor && !sym.is(Mutable, butNot = Accessor) && !sym.enclosingClass.is(Trait)
289289

290290
import asm.Opcodes.*
291291
import GenBCodeOps.addFlagIf

compiler/src/dotty/tools/dotc/ast/Desugar.scala

-2
Original file line numberDiff line numberDiff line change
@@ -2243,8 +2243,6 @@ object desugar {
22432243
New(ref(defn.RepeatedAnnot.typeRef), Nil :: Nil))
22442244
else if op.name == nme.CC_REACH then
22452245
Apply(ref(defn.Caps_reachCapability), t :: Nil)
2246-
else if op.name == nme.CC_READONLY then
2247-
Apply(ref(defn.Caps_readOnlyCapability), t :: Nil)
22482246
else
22492247
assert(ctx.mode.isExpr || ctx.reporter.errorsReported || ctx.mode.is(Mode.Interactive), ctx.mode)
22502248
Select(t, op.name)

compiler/src/dotty/tools/dotc/ast/TreeInfo.scala

+1-1
Original file line numberDiff line numberDiff line change
@@ -759,7 +759,7 @@ trait TypedTreeInfo extends TreeInfo[Type] { self: Trees.Instance[Type] =>
759759
*/
760760
def isVariableOrGetter(tree: Tree)(using Context): Boolean = {
761761
def sym = tree.symbol
762-
def isVar = sym.isMutableVarOrAccessor
762+
def isVar = sym.is(Mutable)
763763
def isGetter =
764764
mayBeVarGetter(sym) && sym.owner.info.member(sym.name.asTermName.setterName).exists
765765

compiler/src/dotty/tools/dotc/ast/untpd.scala

-3
Original file line numberDiff line numberDiff line change
@@ -206,8 +206,6 @@ object untpd extends Trees.Instance[Untyped] with UntypedTreeInfo {
206206

207207
case class Var()(implicit @constructorOnly src: SourceFile) extends Mod(Flags.Mutable)
208208

209-
case class Mut()(implicit @constructorOnly src: SourceFile) extends Mod(Flags.Mutable)
210-
211209
case class Implicit()(implicit @constructorOnly src: SourceFile) extends Mod(Flags.Implicit)
212210

213211
case class Given()(implicit @constructorOnly src: SourceFile) extends Mod(Flags.Given)
@@ -334,7 +332,6 @@ object untpd extends Trees.Instance[Untyped] with UntypedTreeInfo {
334332

335333
def isEnumCase: Boolean = isEnum && is(Case)
336334
def isEnumClass: Boolean = isEnum && !is(Case)
337-
def isMutableVar: Boolean = is(Mutable) && mods.exists(_.isInstanceOf[Mod.Var])
338335
}
339336

340337
@sharable val EmptyModifiers: Modifiers = Modifiers()

0 commit comments

Comments
 (0)