@@ -1694,7 +1694,7 @@ class QuotesImpl private (using val ctx: Context) extends Quotes, QuoteUnpickler
1694
1694
end SimpleSelectorTypeTest
1695
1695
1696
1696
object SimpleSelector extends SimpleSelectorModule :
1697
- def apply (name : String ): SimpleSelector =
1697
+ def apply (name : String ): SimpleSelector =
1698
1698
withDefaultPos(untpd.ImportSelector (untpd.Ident (name.toTermName)))
1699
1699
def unapply (x : SimpleSelector ): Some [String ] = Some (x.name.toString)
1700
1700
end SimpleSelector
@@ -1837,11 +1837,14 @@ class QuotesImpl private (using val ctx: Context) extends Quotes, QuoteUnpickler
1837
1837
def termSymbol : Symbol = self.termSymbol
1838
1838
def isSingleton : Boolean = self.isSingleton
1839
1839
def memberType (member : Symbol ): TypeRepr =
1840
- // we use thisType to avoid resolving otherwise unstable prefixes into Nothing
1841
- val classSymbol = self.classSymbol
1842
- member.info
1843
- .asSeenFrom(classSymbol.thisType, member.owner)
1844
- .substThis(classSymbol.asClass, self) // and we remove the previously added This(_) for compatibility
1840
+ // we replace thisTypes here to avoid resolving otherwise unstable prefixes into Nothing
1841
+ val memberInfo =
1842
+ if self.typeSymbol.isClassDef then
1843
+ member.info.substThis(self.classSymbol.asClass, self)
1844
+ else
1845
+ member.info
1846
+ memberInfo
1847
+ .asSeenFrom(self, member.owner)
1845
1848
1846
1849
def baseClasses : List [Symbol ] = self.baseClasses
1847
1850
def baseType (cls : Symbol ): TypeRepr = self.baseType(cls)
0 commit comments