@@ -3,7 +3,7 @@ package transform
33
44import  ast .* , desugar .{ForArtifact , PatternVar }, tpd .* , untpd .ImportSelector 
55import  config .ScalaSettings 
6- import  core .* , Contexts .* , Flags .* 
6+ import  core .* , Contexts .* , Decorators . * ,  Flags .* 
77import  Names .{Name , SimpleName , DerivedName , TermName , termName }
88import  NameKinds .{BodyRetainerName , ContextBoundParamName , ContextFunctionParamName , DefaultGetterName , WildcardParamName }
99import  NameOps .{isAnonymousFunctionName , isReplWrapperName , setterName }
@@ -161,7 +161,7 @@ class CheckUnused private (phaseMode: PhaseMode, suffix: String) extends MiniPha
161161    tree
162162
163163  override  def  prepareForBind (tree : Bind )(using  Context ):  Context  = 
164-     refInfos. register(tree)
164+     register(tree)
165165    ctx
166166  /*  cf QuotePattern
167167  override def transformBind(tree: Bind)(using Context): tree.type = 
@@ -179,7 +179,7 @@ class CheckUnused private (phaseMode: PhaseMode, suffix: String) extends MiniPha
179179
180180  override  def  prepareForValDef (tree : ValDef )(using  Context ):  Context  = 
181181    if  ! tree.symbol.is(Deferred ) &&  tree.rhs.symbol !=  defn.Predef_undefined  then 
182-       refInfos. register(tree)
182+       register(tree)
183183    relax(tree.rhs, tree.tpt.tpe)
184184    ctx
185185  override  def  transformValDef (tree : ValDef )(using  Context ):  tree.type  = 
@@ -203,7 +203,7 @@ class CheckUnused private (phaseMode: PhaseMode, suffix: String) extends MiniPha
203203    if  tree.symbol.is(Inline ) then 
204204      refInfos.inliners +=  1 
205205    else  if  ! tree.symbol.is(Deferred ) &&  tree.rhs.symbol !=  defn.Predef_undefined  then 
206-       refInfos. register(tree)
206+       register(tree)
207207    relax(tree.rhs, tree.tpt.tpe)
208208    ctx
209209  override  def  transformDefDef (tree : DefDef )(using  Context ):  tree.type  = 
@@ -217,7 +217,7 @@ class CheckUnused private (phaseMode: PhaseMode, suffix: String) extends MiniPha
217217  override  def  transformTypeDef (tree : TypeDef )(using  Context ):  tree.type  = 
218218    traverseAnnotations(tree.symbol)
219219    if  ! tree.symbol.is(Param ) then  //  type parameter to do?
220-       refInfos. register(tree)
220+       register(tree)
221221    tree
222222
223223  override  def  prepareForStats (trees : List [Tree ])(using  Context ):  Context  = 
@@ -233,8 +233,7 @@ class CheckUnused private (phaseMode: PhaseMode, suffix: String) extends MiniPha
233233  override  def  transformOther (tree : Tree )(using  Context ):  tree.type  = 
234234    tree match 
235235    case  imp : Import  => 
236-       if  phaseMode eq PhaseMode .Aggregate  then 
237-         refInfos.register(imp)
236+       register(imp)
238237      transformAllDeep(imp.expr)
239238      for  selector <-  imp.selectors do 
240239        if  selector.isGiven then 
@@ -399,7 +398,7 @@ class CheckUnused private (phaseMode: PhaseMode, suffix: String) extends MiniPha
399398    while  ! done &&  ctxs.hasNext do 
400399      val  cur  =  ctxs.next()
401400      if  cur.owner.userSymbol ==  sym &&  ! sym.is(Package ) then 
402-         enclosed =  true  //  found enclosing definition, don't register  the reference
401+         enclosed =  true  //  found enclosing definition, don't record  the reference
403402      if  isLocal then 
404403        if  cur.owner eq sym.owner then 
405404          done =  true  //  for local def, just checking that it is not enclosing
@@ -471,6 +470,12 @@ class CheckUnused private (phaseMode: PhaseMode, suffix: String) extends MiniPha
471470        return 
472471      case  _ => 
473472  end  resolveScoped 
473+ 
474+   /**  Register new element for warnings only at typer */  
475+   def  register (tree : Tree )(using  Context ):  Unit  = 
476+     if  phaseMode eq PhaseMode .Aggregate  then 
477+       refInfos.register(tree)
478+ 
474479end  CheckUnused 
475480
476481object  CheckUnused : 
0 commit comments