Skip to content

Commit ae258f1

Browse files
stsypanovcl4es
authored andcommitted
8265418: Clean-up redundant null-checks of Class.getPackageName()
Reviewed-by: redestad
1 parent 41185d3 commit ae258f1

File tree

8 files changed

+13
-19
lines changed

8 files changed

+13
-19
lines changed

src/java.base/share/classes/java/io/ObjectStreamClass.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1673,8 +1673,8 @@ private static Method getPrivateMethod(Class<?> cl, String name,
16731673
* otherwise.
16741674
*/
16751675
private static boolean packageEquals(Class<?> cl1, Class<?> cl2) {
1676-
return (cl1.getClassLoader() == cl2.getClassLoader() &&
1677-
cl1.getPackageName().equals(cl2.getPackageName()));
1676+
return cl1.getClassLoader() == cl2.getClassLoader() &&
1677+
cl1.getPackageName() == cl2.getPackageName();
16781678
}
16791679

16801680
/**

src/java.base/share/classes/java/lang/Class.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3043,7 +3043,7 @@ private void checkPackageAccess(SecurityManager sm, final ClassLoader ccl,
30433043

30443044
if (ReflectUtil.needsPackageAccessCheck(ccl, cl)) {
30453045
String pkg = this.getPackageName();
3046-
if (pkg != null && !pkg.isEmpty()) {
3046+
if (!pkg.isEmpty()) {
30473047
// skip the package access check on a proxy class in default proxy package
30483048
if (!Proxy.isProxyClass(this) || ReflectUtil.isNonPublicProxyClass(this)) {
30493049
sm.checkPackageAccess(pkg);
@@ -3077,7 +3077,7 @@ private static void checkPackageAccessForPermittedSubclasses(SecurityManager sm,
30773077
if (Proxy.isProxyClass(c))
30783078
throw new InternalError("a permitted subclass should not be a proxy class: " + c);
30793079
String pkg = c.getPackageName();
3080-
if (pkg != null && !pkg.isEmpty()) {
3080+
if (!pkg.isEmpty()) {
30813081
packages.add(pkg);
30823082
}
30833083
}
@@ -3094,7 +3094,7 @@ private static void checkPackageAccessForPermittedSubclasses(SecurityManager sm,
30943094
private String resolveName(String name) {
30953095
if (!name.startsWith("/")) {
30963096
String baseName = getPackageName();
3097-
if (baseName != null && !baseName.isEmpty()) {
3097+
if (!baseName.isEmpty()) {
30983098
int len = baseName.length() + 1 + name.length();
30993099
StringBuilder sb = new StringBuilder(len);
31003100
name = sb.append(baseName.replace('.', '/'))

src/java.base/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import java.security.AccessController;
4141
import java.security.PrivilegedActionException;
4242
import java.security.PrivilegedExceptionAction;
43-
import java.util.Objects;
4443
import java.util.function.IntBinaryOperator;
4544
import java.util.function.IntUnaryOperator;
4645
import jdk.internal.misc.Unsafe;
@@ -456,7 +455,7 @@ private static boolean isAncestor(ClassLoader first, ClassLoader second) {
456455
*/
457456
private static boolean isSamePackage(Class<?> class1, Class<?> class2) {
458457
return class1.getClassLoader() == class2.getClassLoader()
459-
&& Objects.equals(class1.getPackageName(), class2.getPackageName());
458+
&& class1.getPackageName() == class2.getPackageName();
460459
}
461460

462461
/**

src/java.base/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import java.security.AccessController;
4141
import java.security.PrivilegedActionException;
4242
import java.security.PrivilegedExceptionAction;
43-
import java.util.Objects;
4443
import java.util.function.LongBinaryOperator;
4544
import java.util.function.LongUnaryOperator;
4645
import jdk.internal.misc.Unsafe;
@@ -656,6 +655,6 @@ static boolean isAncestor(ClassLoader first, ClassLoader second) {
656655
*/
657656
static boolean isSamePackage(Class<?> class1, Class<?> class2) {
658657
return class1.getClassLoader() == class2.getClassLoader()
659-
&& Objects.equals(class1.getPackageName(), class2.getPackageName());
658+
&& class1.getPackageName() == class2.getPackageName();
660659
}
661660
}

src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
import java.security.AccessController;
4141
import java.security.PrivilegedActionException;
4242
import java.security.PrivilegedExceptionAction;
43-
import java.util.Objects;
4443
import java.util.function.BinaryOperator;
4544
import java.util.function.UnaryOperator;
4645
import jdk.internal.misc.Unsafe;
@@ -397,7 +396,7 @@ private static boolean isAncestor(ClassLoader first, ClassLoader second) {
397396
*/
398397
private static boolean isSamePackage(Class<?> class1, Class<?> class2) {
399398
return class1.getClassLoader() == class2.getClassLoader()
400-
&& Objects.equals(class1.getPackageName(), class2.getPackageName());
399+
&& class1.getPackageName() == class2.getPackageName();
401400
}
402401

403402
/**

src/java.base/share/classes/jdk/internal/reflect/ReflectionFactory.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,14 @@
3333
import java.io.Serializable;
3434
import java.lang.invoke.MethodHandle;
3535
import java.lang.invoke.MethodHandles;
36-
import java.lang.reflect.Field;
36+
import java.lang.reflect.Constructor;
3737
import java.lang.reflect.Executable;
38+
import java.lang.reflect.Field;
3839
import java.lang.reflect.InvocationTargetException;
3940
import java.lang.reflect.Method;
40-
import java.lang.reflect.Constructor;
4141
import java.lang.reflect.Modifier;
4242
import java.security.PrivilegedAction;
43-
import java.util.Objects;
4443
import java.util.Properties;
45-
4644
import jdk.internal.access.JavaLangReflectAccess;
4745
import jdk.internal.access.SharedSecrets;
4846
import jdk.internal.misc.VM;
@@ -684,7 +682,7 @@ private static boolean packageEquals(Class<?> cl1, Class<?> cl2) {
684682
}
685683

686684
return cl1.getClassLoader() == cl2.getClassLoader() &&
687-
Objects.equals(cl1.getPackageName(), cl2.getPackageName());
685+
cl1.getPackageName() == cl2.getPackageName();
688686
}
689687

690688
}

src/java.base/share/classes/sun/invoke/util/VerifyAccess.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727

2828
import java.lang.reflect.Modifier;
2929
import static java.lang.reflect.Modifier.*;
30-
import java.util.Objects;
3130
import jdk.internal.reflect.Reflection;
3231

3332
/**
@@ -375,7 +374,7 @@ public static boolean isSamePackage(Class<?> class1, Class<?> class2) {
375374
return true;
376375
if (class1.getClassLoader() != class2.getClassLoader())
377376
return false;
378-
return Objects.equals(class1.getPackageName(), class2.getPackageName());
377+
return class1.getPackageName() == class2.getPackageName();
379378
}
380379

381380
/**

src/java.base/share/classes/sun/reflect/misc/ReflectUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ private static void privateCheckPackageAccess(SecurityManager s, Class<?> clazz)
129129
}
130130

131131
String pkg = clazz.getPackageName();
132-
if (pkg != null && !pkg.isEmpty()) {
132+
if (!pkg.isEmpty()) {
133133
s.checkPackageAccess(pkg);
134134
}
135135

0 commit comments

Comments
 (0)