Skip to content

Commit 4d89847

Browse files
committed
move to RefChecks
1 parent 4a97233 commit 4d89847

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

compiler/src/dotty/tools/dotc/transform/PruneErasedDefs.scala

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -52,21 +52,11 @@ class PruneErasedDefs extends MiniPhase with SymTransformer { thisTransform =>
5252
else cpy.ValDef(tree)(rhs = trivialErasedTree(tree.rhs))
5353

5454
override def transformDefDef(tree: DefDef)(using Context): Tree =
55-
checkNoInlineAnnoClasses(tree)
55+
RefChecks.checkNoInlineAnnoClasses(tree)
5656
checkErasedInExperimental(tree.symbol)
5757
if !tree.symbol.isEffectivelyErased || tree.rhs.isEmpty then tree
5858
else cpy.DefDef(tree)(rhs = trivialErasedTree(tree.rhs))
5959

60-
def checkNoInlineAnnoClasses(tree: DefDef)(using Context): Unit =
61-
if tree.symbol.is(Inline) then
62-
new TreeTraverser {
63-
def traverse(tree: Tree)(using Context): Unit =
64-
tree match
65-
case tree: TypeDef if tree.symbol.isAnonymousClass =>
66-
report.warning(new InlinedAnonClassWarning(), tree.symbol.sourcePos)
67-
case _ => traverseChildren(tree)
68-
}.traverse(tree)
69-
7060
override def transformTypeDef(tree: TypeDef)(using Context): Tree =
7161
checkErasedInExperimental(tree.symbol)
7262
tree

compiler/src/dotty/tools/dotc/typer/RefChecks.scala

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,16 @@ object RefChecks {
3333
def isStable = true
3434
}
3535

36+
def checkNoInlineAnnoClasses(tree: DefDef)(using Context): Unit =
37+
if tree.symbol.is(Inline) then
38+
new TreeTraverser {
39+
def traverse(tree: Tree)(using Context): Unit =
40+
tree match
41+
case tree: TypeDef if tree.symbol.isAnonymousClass =>
42+
report.warning(new InlinedAnonClassWarning(), tree.symbol.sourcePos)
43+
case _ => traverseChildren(tree)
44+
}.traverse(tree)
45+
3646
/** Only one overloaded alternative is allowed to define default arguments */
3747
private def checkOverloadedRestrictions(clazz: Symbol)(using Context): Unit = {
3848
// Using the default getters (such as methodName$default$1) as a cheap way of

0 commit comments

Comments
 (0)