8051382: Optimize java.lang.reflect.Modifier.toString()
Reviewed-by: martin
This commit is contained in:
parent
24475b6d8c
commit
6b6a37ee50
jdk
@ -26,6 +26,7 @@
|
||||
package java.lang.reflect;
|
||||
|
||||
import java.security.AccessController;
|
||||
import java.util.StringJoiner;
|
||||
import sun.reflect.LangReflectAccess;
|
||||
import sun.reflect.ReflectionFactory;
|
||||
|
||||
@ -232,27 +233,24 @@ public class Modifier {
|
||||
* represented by {@code mod}
|
||||
*/
|
||||
public static String toString(int mod) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
int len;
|
||||
StringJoiner sj = new StringJoiner(" ");
|
||||
|
||||
if ((mod & PUBLIC) != 0) sb.append("public ");
|
||||
if ((mod & PROTECTED) != 0) sb.append("protected ");
|
||||
if ((mod & PRIVATE) != 0) sb.append("private ");
|
||||
if ((mod & PUBLIC) != 0) sj.add("public");
|
||||
if ((mod & PROTECTED) != 0) sj.add("protected");
|
||||
if ((mod & PRIVATE) != 0) sj.add("private");
|
||||
|
||||
/* Canonical order */
|
||||
if ((mod & ABSTRACT) != 0) sb.append("abstract ");
|
||||
if ((mod & STATIC) != 0) sb.append("static ");
|
||||
if ((mod & FINAL) != 0) sb.append("final ");
|
||||
if ((mod & TRANSIENT) != 0) sb.append("transient ");
|
||||
if ((mod & VOLATILE) != 0) sb.append("volatile ");
|
||||
if ((mod & SYNCHRONIZED) != 0) sb.append("synchronized ");
|
||||
if ((mod & NATIVE) != 0) sb.append("native ");
|
||||
if ((mod & STRICT) != 0) sb.append("strictfp ");
|
||||
if ((mod & INTERFACE) != 0) sb.append("interface ");
|
||||
if ((mod & ABSTRACT) != 0) sj.add("abstract");
|
||||
if ((mod & STATIC) != 0) sj.add("static");
|
||||
if ((mod & FINAL) != 0) sj.add("final");
|
||||
if ((mod & TRANSIENT) != 0) sj.add("transient");
|
||||
if ((mod & VOLATILE) != 0) sj.add("volatile");
|
||||
if ((mod & SYNCHRONIZED) != 0) sj.add("synchronized");
|
||||
if ((mod & NATIVE) != 0) sj.add("native");
|
||||
if ((mod & STRICT) != 0) sj.add("strictfp");
|
||||
if ((mod & INTERFACE) != 0) sj.add("interface");
|
||||
|
||||
if ((len = sb.length()) > 0) /* trim trailing space */
|
||||
return sb.toString().substring(0, len-1);
|
||||
return "";
|
||||
return sj.toString();
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -23,11 +23,11 @@
|
||||
|
||||
/**
|
||||
* @test
|
||||
* @bug 4394937
|
||||
* @bug 4394937 8051382
|
||||
* @summary tests the toString method of reflect.Modifier
|
||||
*/
|
||||
|
||||
import java.lang.reflect.*;
|
||||
import java.lang.reflect.Modifier;
|
||||
|
||||
public class toStringTest {
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user