Skip to content

Commit de10072

Browse files
committed
Merge Delegate and Given flags
Do the same for IMPLIED and GIVEN Tasty tags.
1 parent f87554b commit de10072

28 files changed

+55
-69
lines changed

compiler/src/dotty/tools/dotc/ast/Desugar.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -750,7 +750,7 @@ object desugar {
750750
// synthetic implicit C[Ts](p11: T11, ..., p1N: T1N) ... (pM1: TM1, ..., pMN: TMN): C[Ts] =
751751
// new C[Ts](p11, ..., p1N) ... (pM1, ..., pMN) =
752752
val implicitWrappers =
753-
if (!mods.isOneOf(DelegateOrImplicit))
753+
if (!mods.isOneOf(GivenOrImplicit))
754754
Nil
755755
else if (ctx.owner.is(Package)) {
756756
ctx.error(TopLevelImplicitClass(cdef), cdef.sourcePos)
@@ -764,7 +764,7 @@ object desugar {
764764
ctx.error(ImplicitCaseClass(cdef), cdef.sourcePos)
765765
Nil
766766
}
767-
else if (arity != 1 && !mods.is(Delegate)) {
767+
else if (arity != 1 && !mods.is(Given)) {
768768
ctx.error(ImplicitClassPrimaryConstructorArity(), cdef.sourcePos)
769769
Nil
770770
}
@@ -778,7 +778,7 @@ object desugar {
778778
// implicit wrapper is typechecked in same scope as constructor, so
779779
// we can reuse the constructor parameters; no derived params are needed.
780780
DefDef(className.toTermName, constrTparams, defParamss, classTypeRef, creatorExpr)
781-
.withMods(companionMods | mods.flags.toTermFlags & DelegateOrImplicit | Synthetic | Final)
781+
.withMods(companionMods | mods.flags.toTermFlags & GivenOrImplicit | Synthetic | Final)
782782
.withSpan(cdef.span) :: Nil
783783
}
784784

@@ -1177,14 +1177,14 @@ object desugar {
11771177
*/
11781178
def packageDef(pdef: PackageDef)(implicit ctx: Context): PackageDef = {
11791179
def isWrappedType(stat: TypeDef): Boolean =
1180-
!stat.isClassDef || stat.mods.isOneOf(DelegateOrImplicit)
1180+
!stat.isClassDef || stat.mods.isOneOf(GivenOrImplicit)
11811181
val wrappedTypeNames = pdef.stats.collect {
11821182
case stat: TypeDef if isWrappedType(stat) => stat.name
11831183
}
11841184
def needsObject(stat: Tree) = stat match {
11851185
case _: ValDef | _: PatDef | _: DefDef | _: Export => true
11861186
case stat: ModuleDef =>
1187-
stat.mods.isOneOf(DelegateOrImplicit) ||
1187+
stat.mods.isOneOf(GivenOrImplicit) ||
11881188
wrappedTypeNames.contains(stat.name.stripModuleClassSuffix.toTypeName)
11891189
case stat: TypeDef => isWrappedType(stat)
11901190
case _ => false

compiler/src/dotty/tools/dotc/ast/Trees.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -754,7 +754,7 @@ object Trees {
754754
def unforced: LazyTree[T] = preRhs
755755
protected def force(x: Tree[T @uncheckedVariance]): Unit = preRhs = x
756756

757-
override def disableOverlapChecks = rawMods.is(Delegate)
757+
override def disableOverlapChecks = rawMods.is(Given)
758758
// disable order checks for implicit aliases since their given clause follows
759759
// their for clause, but the two appear swapped in the DefDef.
760760
}

compiler/src/dotty/tools/dotc/ast/untpd.scala

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,6 @@ object untpd extends Trees.Instance[Untyped] with UntypedTreeInfo {
165165
case class Lazy()(implicit @constructorOnly src: SourceFile) extends Mod(Flags.Lazy)
166166

167167
case class Inline()(implicit @constructorOnly src: SourceFile) extends Mod(Flags.Inline)
168-
169-
case class Delegate()(implicit @constructorOnly src: SourceFile) extends Mod(Flags.Delegate)
170168
}
171169

172170
/** Modifiers and annotations for definitions

compiler/src/dotty/tools/dotc/core/Contexts.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import Scopes._
1313
import Uniques._
1414
import ast.Trees._
1515
import ast.untpd
16-
import Flags.DelegateOrGivenOrImplicit
16+
import Flags.GivenOrImplicit
1717
import util.{FreshNameCreator, NoSource, SimpleIdentityMap, SourceFile}
1818
import typer.{Implicits, ImportInfo, Inliner, NamerContextOps, SearchHistory, SearchRoot, TypeAssigner, Typer}
1919
import Implicits.ContextualImplicits
@@ -214,7 +214,7 @@ object Contexts {
214214
implicitsCache = {
215215
val implicitRefs: List[ImplicitRef] =
216216
if (isClassDefContext)
217-
try owner.thisType.implicitMembers(DelegateOrGivenOrImplicit)
217+
try owner.thisType.implicitMembers(GivenOrImplicit)
218218
catch {
219219
case ex: CyclicReference => Nil
220220
}

compiler/src/dotty/tools/dotc/core/Flags.scala

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -338,8 +338,6 @@ object Flags {
338338
/** Symbol is a Java default method */
339339
val (_, DefaultMethod @ _, _) = newFlags(38, "<defaultmethod>")
340340

341-
val (Delegate @ _, _, _) = newFlags(39, "delegate")
342-
343341
/** Symbol is an enum class or enum case (if used with case) */
344342
val (Enum @ _, _, _) = newFlags(40, "<enum>")
345343

@@ -421,7 +419,7 @@ object Flags {
421419

422420
/** Flags representing source modifiers */
423421
private val CommonSourceModifierFlags: FlagSet =
424-
commonFlags(Private, Protected, Final, Case, Implicit, Delegate, Given, Override, JavaStatic)
422+
commonFlags(Private, Protected, Final, Case, Implicit, Given, Override, JavaStatic)
425423

426424
val TypeSourceModifierFlags: FlagSet =
427425
CommonSourceModifierFlags.toTypeFlags | Abstract | Sealed | Opaque
@@ -443,7 +441,7 @@ object Flags {
443441
HigherKinded, Param, ParamAccessor,
444442
Scala2ExistentialCommon, Mutable, Opaque, Touched, JavaStatic,
445443
OuterOrCovariant, LabelOrContravariant, CaseAccessor,
446-
Extension, NonMember, Implicit, Given, Delegate, Permanent, Synthetic,
444+
Extension, NonMember, Implicit, Given, Permanent, Synthetic,
447445
SuperAccessorOrScala2x, Inline)
448446

449447
/** Flags that are not (re)set when completing the denotation, or, if symbol is
@@ -502,14 +500,14 @@ object Flags {
502500

503501
/** Flags that can apply to a module val */
504502
val RetainedModuleValFlags: FlagSet = RetainedModuleValAndClassFlags |
505-
Override | Final | Method | Implicit | Delegate | Lazy |
503+
Override | Final | Method | Implicit | Given | Lazy |
506504
Accessor | AbsOverride | StableRealizable | Captured | Synchronized | Erased
507505

508506
/** Flags that can apply to a module class */
509507
val RetainedModuleClassFlags: FlagSet = RetainedModuleValAndClassFlags | Enum
510508

511509
/** Flags retained in export forwarders */
512-
val RetainedExportFlags = Delegate | Given | Implicit | Extension
510+
val RetainedExportFlags = Given | Implicit | Extension
513511

514512
// ------- Other flag sets -------------------------------------
515513

@@ -528,10 +526,6 @@ object Flags {
528526
val DeferredOrLazyOrMethod: FlagSet = Deferred | Lazy | Method
529527
val DeferredOrTermParamOrAccessor: FlagSet = Deferred | ParamAccessor | TermParam // term symbols without right-hand sides
530528
val DeferredOrTypeParam: FlagSet = Deferred | TypeParam // type symbols without right-hand sides
531-
val DelegateOrGiven: FlagSet = Delegate | Given
532-
val DelegateOrGivenOrImplicit: FlagSet = Delegate | Given | Implicit
533-
val DelegateOrGivenOrImplicitVal: FlagSet = DelegateOrGivenOrImplicit.toTermFlags
534-
val DelegateOrImplicit: FlagSet = Delegate | Implicit
535529
val EnumValue: FlagSet = Enum | JavaStatic | StableRealizable // A Scala enum value
536530
val StableOrErased: FlagSet = Erased | StableRealizable // Assumed to be pure
537531
val ExtensionMethod: FlagSet = Extension | Method
@@ -540,6 +534,7 @@ object Flags {
540534
val EffectivelyFinalFlags: FlagSet = Final | Private
541535
val FinalOrSealed: FlagSet = Final | Sealed
542536
val GivenOrImplicit: FlagSet = Given | Implicit
537+
val GivenOrImplicitVal: FlagSet = GivenOrImplicit.toTermFlags
543538
val InlineOrProxy: FlagSet = Inline | InlineProxy // An inline method or inline argument proxy */
544539
val InlineMethod: FlagSet = Inline | Method
545540
val InlineParam: FlagSet = Inline | Param
@@ -570,7 +565,7 @@ object Flags {
570565
val Scala2Trait: FlagSet = Scala2x | Trait
571566
val SyntheticArtifact: FlagSet = Synthetic | Artifact
572567
val SyntheticCase: FlagSet = Synthetic | Case
573-
val SyntheticDelegateMethod: FlagSet = Synthetic | Delegate | Method
568+
val SyntheticGivenMethod: FlagSet = Synthetic | Given | Method
574569
val SyntheticModule: FlagSet = Synthetic | Module
575570
val SyntheticOpaque: FlagSet = Synthetic | Opaque
576571
val SyntheticTermParam: FlagSet = Synthetic | TermParam

compiler/src/dotty/tools/dotc/core/Scopes.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ object Scopes {
409409
var irefs = new mutable.ListBuffer[TermRef]
410410
var e = lastEntry
411411
while (e ne null) {
412-
if (e.sym.isOneOf(DelegateOrGivenOrImplicit)) {
412+
if (e.sym.isOneOf(GivenOrImplicit)) {
413413
val d = e.sym.denot
414414
irefs += TermRef(NoPrefix, d.symbol.asTerm).withDenot(d)
415415
}

compiler/src/dotty/tools/dotc/core/SymDenotations.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1980,7 +1980,7 @@ object SymDenotations {
19801980
if (keepOnly eq implicitFilter)
19811981
if (this.is(Package)) Iterator.empty
19821982
// implicits in package objects are added by the overriding `memberNames` in `PackageClassDenotation`
1983-
else info.decls.iterator.filter(_.isOneOf(DelegateOrGivenOrImplicit))
1983+
else info.decls.iterator.filter(_.isOneOf(GivenOrImplicit))
19841984
else info.decls.iterator
19851985
for (sym <- ownSyms) maybeAdd(sym.name)
19861986
names

compiler/src/dotty/tools/dotc/core/TypeErrors.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ class CyclicReference private (val denot: SymDenotation) extends TypeError {
142142
}
143143
}
144144
// Give up and give generic errors.
145-
else if (cycleSym.isOneOf(DelegateOrGivenOrImplicit, butNot = Method) && cycleSym.owner.isTerm)
145+
else if (cycleSym.isOneOf(GivenOrImplicit, butNot = Method) && cycleSym.owner.isTerm)
146146
CyclicReferenceInvolvingImplicit(cycleSym)
147147
else
148148
CyclicReferenceInvolving(denot)

compiler/src/dotty/tools/dotc/core/Types.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -794,7 +794,7 @@ object Types {
794794
*/
795795
final def implicitMembers(kind: FlagSet)(implicit ctx: Context): List[TermRef] = track("implicitMembers") {
796796
memberDenots(implicitFilter,
797-
(name, buf) => buf ++= member(name).altsWith(_.isOneOf(DelegateOrGivenOrImplicitVal & kind)))
797+
(name, buf) => buf ++= member(name).altsWith(_.isOneOf(GivenOrImplicitVal & kind)))
798798
.toList.map(d => TermRef(this, d.symbol.asTerm))
799799
}
800800

compiler/src/dotty/tools/dotc/core/tasty/TastyFormat.scala

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Standard-Section: "ASTs" TopLevelStat*
5757
Stat = Term
5858
ValOrDefDef
5959
TYPEDEF Length NameRef (type_Term | Template) Modifier* -- modifiers type name (= type | bounds) | moifiers class name template
60-
IMPORT Length [IMPLIED] qual_Term Selector* -- import implied? qual selectors
60+
IMPORT Length [GIVEN] qual_Term Selector* -- import given? qual selectors
6161
ValOrDefDef = VALDEF Length NameRef type_Term rhs_Term? Modifier* -- modifiers val name : type (= rhs)?
6262
DEFDEF Length NameRef TypeParam* Params* returnType_Term rhs_Term?
6363
Modifier* -- modifiers def name [typeparams] paramss : returnType (= rhs)?
@@ -182,7 +182,7 @@ Standard-Section: "ASTs" TopLevelStat*
182182
SEALED -- sealed
183183
CASE -- case (for classes or objects)
184184
IMPLICIT -- implicit
185-
IMPLIED -- implied
185+
GIVEN -- given
186186
ERASED -- erased
187187
LAZY -- lazy
188188
OVERRIDE -- override
@@ -206,7 +206,6 @@ Standard-Section: "ASTs" TopLevelStat*
206206
DEFAULTparameterized -- Method with default parameters (default arguments are separate methods with DEFAULTGETTER names)
207207
STABLE -- Method that is assumed to be stable, i.e. its applications are legal paths
208208
EXTENSION -- An extension method
209-
GIVEN -- A new style implicit parameter, introduced with `given`
210209
PARAMsetter -- The setter part `x_=` of a var parameter `x` which itself is pickled as a PARAM
211210
EXPORTED -- An export forwarder
212211
Annotation
@@ -249,7 +248,7 @@ Standard Section: "Comments" Comment*
249248
object TastyFormat {
250249

251250
final val header: Array[Int] = Array(0x5C, 0xA1, 0xAB, 0x1F)
252-
val MajorVersion: Int = 15
251+
val MajorVersion: Int = 16
253252
val MinorVersion: Int = 0
254253

255254
/** Tags used to serialize names */
@@ -328,9 +327,8 @@ object TastyFormat {
328327
final val OPAQUE = 35
329328
final val EXTENSION = 36
330329
final val GIVEN = 37
331-
final val IMPLIED = 38
332-
final val PARAMsetter = 39
333-
final val EXPORTED = 40
330+
final val PARAMsetter = 38
331+
final val EXPORTED = 39
334332

335333
// Cat. 2: tag Nat
336334

@@ -477,7 +475,7 @@ object TastyFormat {
477475
| SEALED
478476
| CASE
479477
| IMPLICIT
480-
| IMPLIED
478+
| GIVEN
481479
| ERASED
482480
| LAZY
483481
| OVERRIDE
@@ -538,7 +536,6 @@ object TastyFormat {
538536
case SEALED => "SEALED"
539537
case CASE => "CASE"
540538
case IMPLICIT => "IMPLICIT"
541-
case IMPLIED => "IMPLIED"
542539
case ERASED => "ERASED"
543540
case LAZY => "LAZY"
544541
case OVERRIDE => "OVERRIDE"

compiler/src/dotty/tools/dotc/core/tasty/TreePickler.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,7 @@ class TreePickler(pickler: TastyPickler) {
531531
case Import(importDelegate, expr, selectors) =>
532532
writeByte(IMPORT)
533533
withLength {
534-
if (importDelegate) writeByte(IMPLIED)
534+
if (importDelegate) writeByte(GIVEN)
535535
pickleTree(expr)
536536
pickleSelectors(selectors)
537537
}
@@ -648,7 +648,7 @@ class TreePickler(pickler: TastyPickler) {
648648
if (flags.is(Scala2x)) writeModTag(SCALA2X)
649649
if (isTerm) {
650650
if (flags.is(Implicit)) writeModTag(IMPLICIT)
651-
if (flags.is(Delegate)) writeModTag(IMPLIED)
651+
if (flags.is(Given)) writeModTag(GIVEN)
652652
if (flags.is(Erased)) writeModTag(ERASED)
653653
if (flags.is(Lazy, butNot = Module)) writeModTag(LAZY)
654654
if (flags.is(AbsOverride)) { writeModTag(ABSTRACT); writeModTag(OVERRIDE) }
@@ -658,7 +658,6 @@ class TreePickler(pickler: TastyPickler) {
658658
if (flags.is(DefaultParameterized)) writeModTag(DEFAULTparameterized)
659659
if (flags.is(StableRealizable)) writeModTag(STABLE)
660660
if (flags.is(Extension)) writeModTag(EXTENSION)
661-
if (flags.is(Given)) writeModTag(GIVEN)
662661
if (flags.is(ParamAccessor)) writeModTag(PARAMsetter)
663662
if (flags.is(Exported)) writeModTag(EXPORTED)
664663
assert(!(flags.is(Label)))

compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -605,7 +605,6 @@ class TreeUnpickler(reader: TastyReader,
605605
case SEALED => addFlag(Sealed)
606606
case CASE => addFlag(Case)
607607
case IMPLICIT => addFlag(Implicit)
608-
case IMPLIED => addFlag(Delegate)
609608
case ERASED => addFlag(Erased)
610609
case LAZY => addFlag(Lazy)
611610
case OVERRIDE => addFlag(Override)
@@ -948,7 +947,7 @@ class TreeUnpickler(reader: TastyReader,
948947
assert(sourcePathAt(start).isEmpty)
949948
readByte()
950949
readEnd()
951-
val importDelegate = nextByte == IMPLIED
950+
val importDelegate = nextByte == GIVEN
952951
if (importDelegate) readByte()
953952
val expr = readTerm()
954953
setSpan(start, Import(importDelegate, expr, readSelectors()))

compiler/src/dotty/tools/dotc/parsing/Parsers.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1486,7 +1486,7 @@ object Parsers {
14861486
case _ =>
14871487
}
14881488
imods.mods match {
1489-
case (Mod.Implicit() | Mod.Delegate()) :: mods => markFirstIllegal(mods)
1489+
case (Mod.Implicit() | Mod.Given()) :: mods => markFirstIllegal(mods)
14901490
case mods => markFirstIllegal(mods)
14911491
}
14921492
val result @ Match(t, cases) =
@@ -2761,7 +2761,7 @@ object Parsers {
27612761
case ENUM =>
27622762
enumDef(start, posMods(start, mods | Enum))
27632763
case IMPLIED | GIVEN =>
2764-
instanceDef(in.token == GIVEN, start, mods, atSpan(in.skipToken()) { Mod.Delegate() })
2764+
instanceDef(in.token == GIVEN, start, mods, atSpan(in.skipToken()) { Mod.Given() })
27652765
case _ =>
27662766
syntaxErrorOrIncomplete(ExpectedStartOfTopLevelDefinition())
27672767
EmptyTree
@@ -3174,7 +3174,7 @@ object Parsers {
31743174
val mods = modifiers(closureMods)
31753175
mods.mods match {
31763176
case givenMod :: Nil if !isBindingIntro =>
3177-
stats += instanceDef(true, start, EmptyModifiers, Mod.Delegate().withSpan(givenMod.span))
3177+
stats += instanceDef(true, start, EmptyModifiers, Mod.Given().withSpan(givenMod.span))
31783178
case _ =>
31793179
stats += implicitClosure(in.offset, Location.InBlock, mods)
31803180
}

compiler/src/dotty/tools/dotc/printing/RefinedPrinter.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -825,7 +825,7 @@ class RefinedPrinter(_ctx: Context) extends PlainPrinter(_ctx) {
825825
if (ctx.settings.YdebugFlags.value) AnyFlags
826826
else if (suppressKw) PrintableFlags(isType) &~ Private
827827
else PrintableFlags(isType)
828-
if (homogenizedView && mods.flags.isTypeFlags) flagMask &~= DelegateOrImplicit // drop implicit/delegate from classes
828+
if (homogenizedView && mods.flags.isTypeFlags) flagMask &~= GivenOrImplicit // drop implicit/given from classes
829829
val rawFlags = if (sym.exists) sym.flags else mods.flags
830830
if (rawFlags.is(Param)) flagMask = flagMask &~ Given
831831
val flags = rawFlags & flagMask

compiler/src/dotty/tools/dotc/sbt/ExtractAPI.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,7 @@ private class ExtractAPICollector(implicit val ctx: Context) extends ThunkHolder
585585
val abs = sym.is(Abstract) || sym.is(Deferred) || absOver
586586
val over = sym.is(Override) || absOver
587587
new api.Modifiers(abs, over, sym.is(Final), sym.is(Sealed),
588-
sym.isOneOf(DelegateOrGivenOrImplicit), sym.is(Lazy), sym.is(Macro), sym.isSuperAccessor)
588+
sym.isOneOf(GivenOrImplicit), sym.is(Lazy), sym.is(Macro), sym.isSuperAccessor)
589589
}
590590

591591
def apiAnnotations(s: Symbol): List[api.Annotation] = {

compiler/src/dotty/tools/dotc/sbt/ExtractDependencies.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ private class ExtractDependenciesCollector extends tpd.TreeTraverser { thisTreeT
342342
case Import(importDelegate, expr, selectors) =>
343343
def lookupImported(name: Name) = {
344344
val sym = expr.tpe.member(name).symbol
345-
if (sym.is(Delegate) == importDelegate) sym else NoSymbol
345+
if (sym.is(Given) == importDelegate) sym else NoSymbol
346346
}
347347
def addImported(name: Name) = {
348348
// importing a name means importing both a term and a type (if they exist)

compiler/src/dotty/tools/dotc/tastyreflect/KernelImpl.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1696,7 +1696,6 @@ class KernelImpl(val rootContext: core.Contexts.Context, val rootPosition: util.
16961696
def Flags_Case: Flags = core.Flags.Case
16971697
def Flags_Implicit: Flags = core.Flags.Implicit
16981698
def Flags_Given: Flags = core.Flags.Given
1699-
def Flags_Implied: Flags = core.Flags.Delegate
17001699
def Flags_Erased: Flags = core.Flags.Erased
17011700
def Flags_Lazy: Flags = core.Flags.Lazy
17021701
def Flags_Override: Flags = core.Flags.Override

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ class CacheAliasImplicits extends MiniPhase with IdentityDenotTransformer { this
5757
override def transformDefDef(tree: DefDef)(implicit ctx: Context): Tree = {
5858
val sym = tree.symbol
5959
sym.info match {
60-
case ExprType(rhsType) if sym.is(Delegate, butNot = CacheAliasImplicits.NoCacheFlags) =>
60+
case ExprType(rhsType) if sym.is(Given, butNot = CacheAliasImplicits.NoCacheFlags) =>
6161
// If rhs is a simple TermRef, leave a def.
6262
tree.rhs.tpe match {
6363
case TermRef(pre, _) =>

0 commit comments

Comments
 (0)