diff options
Diffstat (limited to 'src/reflect')
8 files changed, 14 insertions, 14 deletions
diff --git a/src/reflect/scala/reflect/api/Symbols.scala b/src/reflect/scala/reflect/api/Symbols.scala index 663eb97c58..9831420749 100644 --- a/src/reflect/scala/reflect/api/Symbols.scala +++ b/src/reflect/scala/reflect/api/Symbols.scala @@ -457,7 +457,7 @@ trait Symbols { self: Universe => def privateWithin: Symbol /** Does this symbol represent the definition of a package? - * If yes, `isTerm` is also guaranteed to be true. + * Known issues: [[https://issues.scala-lang.org/browse/SI-6732]]. * * @group Tests */ diff --git a/src/reflect/scala/reflect/internal/HasFlags.scala b/src/reflect/scala/reflect/internal/HasFlags.scala index 8915524bde..aa8f4c532e 100644 --- a/src/reflect/scala/reflect/internal/HasFlags.scala +++ b/src/reflect/scala/reflect/internal/HasFlags.scala @@ -108,6 +108,7 @@ trait HasFlags { def isOverride = hasFlag(OVERRIDE) def isParamAccessor = hasFlag(PARAMACCESSOR) def isPrivate = hasFlag(PRIVATE) + @deprecated ("Use `hasPackageFlag` instead", "2.11.0") def isPackage = hasFlag(PACKAGE) def isPrivateLocal = hasAllFlags(PrivateLocal) def isProtected = hasFlag(PROTECTED) diff --git a/src/reflect/scala/reflect/internal/Mirrors.scala b/src/reflect/scala/reflect/internal/Mirrors.scala index 6cf4944d18..aef99b0ed4 100644 --- a/src/reflect/scala/reflect/internal/Mirrors.scala +++ b/src/reflect/scala/reflect/internal/Mirrors.scala @@ -123,8 +123,8 @@ trait Mirrors extends api.Mirrors { private def ensureModuleSymbol(fullname: String, sym: Symbol, allowPackages: Boolean): ModuleSymbol = sym match { - case x: ModuleSymbol if allowPackages || !x.isPackage => x - case _ => MissingRequirementError.notFound("object " + fullname) + case x: ModuleSymbol if allowPackages || !x.hasPackageFlag => x + case _ => MissingRequirementError.notFound("object " + fullname) } def getModuleByName(fullname: Name): ModuleSymbol = @@ -161,8 +161,8 @@ trait Mirrors extends api.Mirrors { private def ensurePackageSymbol(fullname: String, sym: Symbol, allowModules: Boolean): ModuleSymbol = sym match { - case x: ModuleSymbol if allowModules || x.isPackage => x - case _ => MissingRequirementError.notFound("package " + fullname) + case x: ModuleSymbol if allowModules || x.hasPackageFlag => x + case _ => MissingRequirementError.notFound("package " + fullname) } def getPackage(fullname: TermName): ModuleSymbol = @@ -186,13 +186,13 @@ trait Mirrors extends api.Mirrors { def getPackageObjectIfDefined(fullname: TermName): Symbol = wrapMissing(getPackageObject(fullname)) - + final def getPackageObjectWithMember(pre: Type, sym: Symbol): Symbol = { // The owner of a symbol which requires package qualification may be the // package object iself, but it also could be any superclass of the package // object. In the latter case, we must go through the qualifier's info // to obtain the right symbol. - if (sym.owner.isModuleClass) sym.owner.sourceModule // fast path, if the member is owned by a module class, that must be linked to the package object + if (sym.owner.isModuleClass) sym.owner.sourceModule // fast path, if the member is owned by a module class, that must be linked to the package object else pre member nme.PACKAGE // otherwise we have to findMember } diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala index f8f9dbb7ef..63a69e2797 100644 --- a/src/reflect/scala/reflect/internal/Symbols.scala +++ b/src/reflect/scala/reflect/internal/Symbols.scala @@ -2424,7 +2424,7 @@ trait Symbols extends api.Symbols { self: SymbolTable => else if (isClass) "class" else if (isType && !isParameter) "type" else if (isVariable) "var" - else if (isPackage) "package" + else if (hasPackageFlag) "package" else if (isModule) "object" else if (isSourceMethod) "def" else if (isTerm && (!isParameter || isParamAccessor)) "val" @@ -2435,8 +2435,8 @@ trait Symbols extends api.Symbols { self: SymbolTable => if (isTermMacro) ("term macro", "macro method", "MACM") else if (isInstanceOf[FreeTermSymbol]) ("free term", "free term", "FTE") else if (isInstanceOf[FreeTypeSymbol]) ("free type", "free type", "FTY") - else if (isPackage) ("package", "package", "PK") else if (isPackageClass) ("package class", "package", "PKC") + else if (isPackage) ("package", "package", "PK") else if (isPackageObject) ("package object", "package", "PKO") else if (isPackageObjectClass) ("package object class", "package", "PKOC") else if (isAnonymousClass) ("anonymous class", "anonymous class", "AC") @@ -2660,7 +2660,6 @@ trait Symbols extends api.Symbols { self: SymbolTable => (infos ne null) && infos.info.isInstanceOf[OverloadedType] ) ***/ - override def isPackage = this hasFlag PACKAGE override def isValueParameter = this hasFlag PARAM override def isSetterParameter = isValueParameter && owner.isSetter diff --git a/src/reflect/scala/reflect/internal/TreeGen.scala b/src/reflect/scala/reflect/internal/TreeGen.scala index 29fdba2781..9de5c1a7ea 100644 --- a/src/reflect/scala/reflect/internal/TreeGen.scala +++ b/src/reflect/scala/reflect/internal/TreeGen.scala @@ -186,7 +186,7 @@ abstract class TreeGen extends macros.TreeBuilder { ) val needsPackageQualifier = ( (sym ne null) - && qualsym.isPackage + && qualsym.hasPackageFlag && !(sym.isDefinedInPackage || sym.moduleClass.isDefinedInPackage) // SI-7817 work around strangeness in post-flatten `Symbol#owner` ) val pkgQualifier = diff --git a/src/reflect/scala/reflect/internal/Variances.scala b/src/reflect/scala/reflect/internal/Variances.scala index ea301fba1c..ca43fdcb63 100644 --- a/src/reflect/scala/reflect/internal/Variances.scala +++ b/src/reflect/scala/reflect/internal/Variances.scala @@ -36,7 +36,7 @@ trait Variances { * @pre sym.isLocalToThis */ @tailrec final def checkForEscape(sym: Symbol, site: Symbol) { - if (site == sym.owner || site == sym.owner.moduleClass || site.isPackage) () // done + if (site == sym.owner || site == sym.owner.moduleClass || site.hasPackageFlag) () // done else if (site.isTerm || site.isPrivateLocal) checkForEscape(sym, site.owner) // ok - recurse to owner else escapedLocals += sym } diff --git a/src/reflect/scala/reflect/internal/tpe/TypeMaps.scala b/src/reflect/scala/reflect/internal/tpe/TypeMaps.scala index 07c9242bf3..6d83032c2d 100644 --- a/src/reflect/scala/reflect/internal/tpe/TypeMaps.scala +++ b/src/reflect/scala/reflect/internal/tpe/TypeMaps.scala @@ -1099,7 +1099,7 @@ private[internal] trait TypeMaps { tp } case SingleType(pre, sym) => - if (sym.isPackage) tp + if (sym.hasPackageFlag) tp else { val pre1 = this(pre) try { diff --git a/src/reflect/scala/reflect/runtime/JavaMirrors.scala b/src/reflect/scala/reflect/runtime/JavaMirrors.scala index 1e64b805e9..963e4dd3be 100644 --- a/src/reflect/scala/reflect/runtime/JavaMirrors.scala +++ b/src/reflect/scala/reflect/runtime/JavaMirrors.scala @@ -935,7 +935,7 @@ private[scala] trait JavaMirrors extends internal.SymbolTable with api.JavaUnive val owner = ownerModule.moduleClass val name = (fullname: TermName) drop split + 1 val opkg = owner.info decl name - if (opkg.isPackage) + if (opkg.hasPackageFlag) opkg.asModule else if (opkg == NoSymbol) { val pkg = owner.newPackage(name) |