[lworld] RFR: 8245584: [lworld] LW3 core reflection update
Mandy Chung
mchung at openjdk.java.net
Fri May 22 20:10:29 UTC 2020
On Fri, 22 May 2020 16:46:24 GMT, Mandy Chung <mchung at openjdk.org> wrote:
>> src/java.base/share/classes/jdk/internal/org/objectweb/asm/Type.java line 674:
>>
>>> 673: } else {
>>> 674: stringBuilder.append('L');
>>> 675: }
>>
>> This could be:
>> `stringBuilder.append(IsInlineClass(currentClass) ? 'Q' : 'L');`
>>
>> There may be a usefor a utility function that returns Q or L as appropriate, it appears a few time.
>
> `Class::descriptorString` should be used for the cases when it has a `Class` object.
>
> `ProxyGenerator` and `AccessorGenerator` should be updated to use `Class::descriptorString` and `TypeDescriptor` API
> where it's appropriate. I suggest to update these classes in jdk/jdk. I will file a JBS issue to track this.
updated per your suggestion.
diff --git a/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Type.java
b/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Type.java index 680e764fb4c..b03c201e23e 100644
--- a/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Type.java
+++ b/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Type.java
@@ -667,12 +667,8 @@ public final class Type {
}
stringBuilder.append(descriptor);
} else {
+ stringBuilder.append(isInlineClass(currentClass) ? 'Q' : 'L');
String name = currentClass.getName();
- if (isInlineClass(currentClass)) {
- stringBuilder.append('Q');
- } else {
- stringBuilder.append('L');
- }
int nameLength = name.length();
for (int i = 0; i < nameLength; ++i) {
char car = name.charAt(i);
-------------
PR: https://git.openjdk.java.net/valhalla/pull/53
More information about the valhalla-dev
mailing list