@@ -347,6 +347,7 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table) {
347347 isAbstractType
348348 var flags = givenFlags
349349 if (lacksDefinition) flags |= Deferred
350+ if (tag == DEFDEF ) flags |= Method
350351 if (ctx.mode.is(Mode .InSuperCall ) && ! flags.is(ParamOrAccessor )) flags |= InSuperCall
351352 if (ctx.owner.isClass) {
352353 if (tag == TYPEPARAM ) flags |= Param | ExpandedName // TODO check name to determine ExpandedName
@@ -584,6 +585,7 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table) {
584585 ValDef (sym.asTerm)
585586 }
586587 else {
588+ sym.setFlag(Method )
587589 sym.info = ExprType (info)
588590 pickling.println(i " reading param alias $name -> $currentAddr" )
589591 DefDef (Nil , Nil , TypeTree (info))
@@ -693,9 +695,9 @@ class TreeUnpickler(reader: TastyReader, tastyName: TastyName.Table) {
693695 }
694696 def readRest (name : Name , sig : Signature ) = {
695697 val unshadowed = if (name.isShadowedName) name.revertShadowed else name
696- val sel = readQual(unshadowed).selectWithSig(unshadowed, sig )
697- if (unshadowed != name) sel.withType(sel.tpe. asInstanceOf [ NamedType ].shadowed )
698- else sel
698+ val qual = readQual(name )
699+ untpd. Select (qual, unshadowed )
700+ .withType( TermRef .withSig(qual.tpe.widenIfUnstable, name.asTermName, sig))
699701 }
700702 readNameSplitSig match {
701703 case name : Name => readRest(name, Signature .NotAMethod )
0 commit comments