8265426: Update java.security to use instanceof pattern variable

Reviewed-by: rriggs, weijun, dfuchs
This commit is contained in:
Patrick Concannon 2021-05-07 13:42:40 +00:00
parent 3fcdc50e44
commit 86b8dc9f5b
23 changed files with 85 additions and 165 deletions

View file

@ -364,27 +364,25 @@ final class BasicPermissionCollection
*/
@Override
public void add(Permission permission) {
if (! (permission instanceof BasicPermission))
if (!(permission instanceof BasicPermission basicPermission))
throw new IllegalArgumentException("invalid permission: "+
permission);
if (isReadOnly())
throw new SecurityException("attempt to add a Permission to a readonly PermissionCollection");
BasicPermission bp = (BasicPermission) permission;
// make sure we only add new BasicPermissions of the same class
// Also check null for compatibility with deserialized form from
// previous versions.
if (permClass == null) {
// adding first permission
permClass = bp.getClass();
permClass = basicPermission.getClass();
} else {
if (bp.getClass() != permClass)
if (basicPermission.getClass() != permClass)
throw new IllegalArgumentException("invalid permission: " +
permission);
}
String canonName = bp.getCanonicalName();
String canonName = basicPermission.getCanonicalName();
perms.put(canonName, permission);
// No sync on all_allowed; staleness OK
@ -405,13 +403,11 @@ final class BasicPermissionCollection
*/
@Override
public boolean implies(Permission permission) {
if (! (permission instanceof BasicPermission))
if (!(permission instanceof BasicPermission basicPermission))
return false;
BasicPermission bp = (BasicPermission) permission;
// random subclasses of BasicPermission do not imply each other
if (bp.getClass() != permClass)
if (basicPermission.getClass() != permClass)
return false;
// short circuit if the "*" Permission was added
@ -422,7 +418,7 @@ final class BasicPermissionCollection
// Check for full match first. Then work our way up the
// path looking for matches on a.b..*
String path = bp.getCanonicalName();
String path = basicPermission.getCanonicalName();
//System.out.println("check "+path);
Permission x = perms.get(path);