From ecb41ea498231c1fb44aa7fd7d2dcd600537a9f3 Mon Sep 17 00:00:00 2001 From: Srikanth Adayapalam Date: Mon, 18 May 2020 19:06:47 +0530 Subject: [PATCH] Simplify code per review comments. --- .../share/classes/com/sun/tools/javac/code/Symtab.java | 10 ++-------- .../share/classes/com/sun/tools/javac/comp/Attr.java | 8 ++------ 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java index dfc2e910251..b824957400a 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/code/Symtab.java @@ -271,14 +271,8 @@ public VarSymbol getClassField(Type type, Types types) { I1, I2, ... In, V.class is typed to be Class */ if (type.isValue()) { - ClassType ct = (ClassType) type; - Type it; - if (ct.interfaces_field == null || ct.interfaces_field.isEmpty()) { - it = objectType; - } else { - it = types.makeIntersectionType(ct.interfaces_field, true); - } - arg = new WildcardType(it, BoundKind.EXTENDS, boundClass); + List bounds = List.of(objectType).appendList(((ClassSymbol) type.tsym).getInterfaces()); + arg = new WildcardType(types.makeIntersectionType(bounds), BoundKind.EXTENDS, boundClass); } else { arg = types.erasure(type); } diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java index ec8dc594800..2f9c359659c 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java @@ -2522,12 +2522,8 @@ Type adjustMethodReturnType(Symbol msym, Type qualifierType, Name methodName, Li // I1, I2, ... In, v.getClass() is typed to be Class Type wcb; if (qualifierType.isValue()) { - ClassType ct = (ClassType) qualifierType; - if (ct.interfaces_field == null || ct.interfaces_field.isEmpty()) { - wcb = syms.objectType; - } else { - wcb = types.makeIntersectionType(ct.interfaces_field, true); - } + List bounds = List.of(syms.objectType).appendList(((ClassSymbol) qualifierType.tsym).getInterfaces()); + wcb = types.makeIntersectionType(bounds); } else { wcb = types.erasure(qualifierType); }