Skip to content

Commit ef05863

Browse files
committed
Inline isClass
1 parent 1610aea commit ef05863

File tree

4 files changed

+11
-12
lines changed

4 files changed

+11
-12
lines changed

compiler/src/dotty/tools/backend/jvm/BCodeAsmCommon.scala

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ final class BCodeAsmCommon[I <: DottyBackendInterface](val interface: I) {
1919
* null.
2020
*/
2121
def isAnonymousOrLocalClass(classSym: Symbol): Boolean = {
22-
assert(symHelper(classSym).isClass, s"not a class: $classSym")
22+
assert(classSym.isClass, s"not a class: $classSym")
2323
// Here used to be an `assert(!classSym.isDelambdafyFunction)`: delambdafy lambda classes are
2424
// always top-level. However, SI-8900 shows an example where the weak name-based implementation
2525
// of isDelambdafyFunction failed (for a function declared in a package named "lambda").
2626
classSym.isAnonymousClass || {
2727
val originalOwnerLexicallyEnclosingClass = symHelper(classSym.originalOwner).originalLexicallyEnclosingClass
28-
originalOwnerLexicallyEnclosingClass != NoSymbol && !symHelper(originalOwnerLexicallyEnclosingClass).isClass
28+
originalOwnerLexicallyEnclosingClass != NoSymbol && !originalOwnerLexicallyEnclosingClass.isClass
2929
}
3030
}
3131

@@ -53,9 +53,9 @@ final class BCodeAsmCommon[I <: DottyBackendInterface](val interface: I) {
5353
* This is a source-level property, so we need to use the originalOwner chain to reconstruct it.
5454
*/
5555
private def enclosingMethodForEnclosingMethodAttribute(classSym: Symbol): Option[Symbol] = {
56-
assert(symHelper(classSym).isClass, classSym)
56+
assert(classSym.isClass, classSym)
5757
def enclosingMethod(sym: Symbol): Option[Symbol] = {
58-
if (symHelper(sym).isClass || sym == NoSymbol) None
58+
if (sym.isClass || sym == NoSymbol) None
5959
else if (sym.is(Flags.Method)) Some(sym)
6060
else enclosingMethod(symHelper(sym.originalOwner).originalLexicallyEnclosingClass)
6161
}
@@ -67,9 +67,9 @@ final class BCodeAsmCommon[I <: DottyBackendInterface](val interface: I) {
6767
* property, this method looks at the originalOwner chain. See doc in BTypes.
6868
*/
6969
private def enclosingClassForEnclosingMethodAttribute(classSym: Symbol): Symbol = {
70-
assert(symHelper(classSym).isClass, classSym)
70+
assert(classSym.isClass, classSym)
7171
def enclosingClass(sym: Symbol): Symbol = {
72-
if (symHelper(sym).isClass) sym
72+
if (sym.isClass) sym
7373
else enclosingClass(symHelper(sym.originalOwner).originalLexicallyEnclosingClass)
7474
}
7575
enclosingClass(symHelper(classSym.originalOwner).originalLexicallyEnclosingClass)

compiler/src/dotty/tools/backend/jvm/BCodeHelpers.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ trait BCodeHelpers extends BCodeIdiomatic with BytecodeWriters {
206206
}
207207

208208
private def assertClassNotArray(sym: Symbol): Unit = {
209-
assert(symHelper(sym).isClass, sym)
209+
assert(sym.isClass, sym)
210210
assert(sym != defn.ArrayClass || isCompilingArray, sym)
211211
}
212212

compiler/src/dotty/tools/backend/jvm/BTypesFromSymbols.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class BTypesFromSymbols[I <: DottyBackendInterface](val int: I) extends BTypes {
4848
*/
4949
final def classBTypeFromSymbol(classSym: Symbol): ClassBType = {
5050
assert(classSym != NoSymbol, "Cannot create ClassBType from NoSymbol")
51-
assert(symHelper(classSym).isClass, s"Cannot create ClassBType from non-class symbol $classSym")
51+
assert(classSym.isClass, s"Cannot create ClassBType from non-class symbol $classSym")
5252
assert(
5353
(!primitiveTypeMap.contains(classSym) || isCompilingPrimitive) &&
5454
(classSym != defn.NothingClass && classSym != defn.NullClass),
@@ -160,7 +160,7 @@ class BTypesFromSymbols[I <: DottyBackendInterface](val int: I) extends BTypes {
160160

161161

162162
private def buildNestedInfo(innerClassSym: Symbol): Option[NestedInfo] = {
163-
assert(symHelper(innerClassSym).isClass, s"Cannot build NestedInfo for non-class symbol $innerClassSym")
163+
assert(innerClassSym.isClass, s"Cannot build NestedInfo for non-class symbol $innerClassSym")
164164

165165
val isNested = !symHelper(innerClassSym.originalOwner).originalLexicallyEnclosingClass.is(Flags.PackageClass)
166166
if (!isNested) None
@@ -170,7 +170,7 @@ class BTypesFromSymbols[I <: DottyBackendInterface](val int: I) extends BTypes {
170170

171171
// After lambdalift (which is where we are), the rawowoner field contains the enclosing class.
172172
val enclosingClassSym = {
173-
if (symHelper(innerClassSym).isClass) {
173+
if (innerClassSym.isClass) {
174174
val ct = ctx.withPhase(ctx.flattenPhase.prev)
175175
toDenot(innerClassSym)(ct).owner.enclosingClass(ct)
176176
}
@@ -247,7 +247,7 @@ class BTypesFromSymbols[I <: DottyBackendInterface](val int: I) extends BTypes {
247247
if (symHelper(sym).isStaticMember) ACC_STATIC else 0,
248248
if (sym.is(Flags.Bridge)) ACC_BRIDGE | ACC_SYNTHETIC else 0,
249249
if (sym.is(Flags.Artifact)) ACC_SYNTHETIC else 0,
250-
if (symHelper(sym).isClass && !symHelper(sym).isInterface) ACC_SUPER else 0,
250+
if (sym.isClass && !symHelper(sym).isInterface) ACC_SUPER else 0,
251251
if (sym.isAllOf(Flags.JavaEnumTrait)) ACC_ENUM else 0,
252252
if (sym.is(Flags.JavaVarargs)) ACC_VARARGS else 0,
253253
if (sym.is(Flags.Synchronized)) ACC_SYNCHRONIZED else 0,

compiler/src/dotty/tools/backend/jvm/DottyBackendInterface.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,6 @@ class DottyBackendInterface(val outputDirectory: AbstractFile, val superCallsMap
394394
class SymbolHelper(sym: Symbol) {
395395

396396
// tests
397-
def isClass: Boolean = sym.isClass
398397
def isPublic: Boolean = !sym.flags.isOneOf(Flags.Private | Flags.Protected)
399398
def isInterface: Boolean = (sym.is(Flags.PureInterface)) || sym.is(Flags.Trait)
400399

0 commit comments

Comments
 (0)