File tree 2 files changed +11
-11
lines changed
compiler/src/dotty/tools/dotc
2 files changed +11
-11
lines changed Original file line number Diff line number Diff line change @@ -52,7 +52,17 @@ class PruneErasedDefs extends MiniPhase with SymTransformer { thisTransform =>
52
52
else cpy.ValDef (tree)(rhs = trivialErasedTree(tree.rhs))
53
53
54
54
override def transformDefDef (tree : DefDef )(using Context ): Tree =
55
- RefChecks .checkNoInlineAnnoClasses(tree)
55
+ def checkNoInlineAnnoClasses (tree : DefDef )(using Context ): Unit =
56
+ if tree.symbol.is(Inline ) then
57
+ new TreeTraverser {
58
+ def traverse (tree : Tree )(using Context ): Unit =
59
+ tree match
60
+ case tree : TypeDef if tree.symbol.isAnonymousClass =>
61
+ report.warning(new InlinedAnonClassWarning (), tree.symbol.sourcePos)
62
+ case _ => traverseChildren(tree)
63
+ }.traverse(tree)
64
+
65
+ checkNoInlineAnnoClasses(tree)
56
66
checkErasedInExperimental(tree.symbol)
57
67
if ! tree.symbol.isEffectivelyErased || tree.rhs.isEmpty then tree
58
68
else cpy.DefDef (tree)(rhs = trivialErasedTree(tree.rhs))
Original file line number Diff line number Diff line change @@ -33,16 +33,6 @@ object RefChecks {
33
33
def isStable = true
34
34
}
35
35
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
-
46
36
/** Only one overloaded alternative is allowed to define default arguments */
47
37
private def checkOverloadedRestrictions (clazz : Symbol )(using Context ): Unit = {
48
38
// Using the default getters (such as methodName$default$1) as a cheap way of
You can’t perform that action at this time.
0 commit comments