3535import java .util .concurrent .ConcurrentMap ;
3636import java .util .stream .Collectors ;
3737
38- import jdk .graal .compiler .java .LambdaUtils ;
39-
4038import com .oracle .svm .core .annotate .Alias ;
4139import com .oracle .svm .core .annotate .RecomputeFieldValue ;
4240import com .oracle .svm .core .annotate .RecomputeFieldValue .Kind ;
4543import com .oracle .svm .core .annotate .TargetElement ;
4644import com .oracle .svm .core .fieldvaluetransformer .NewInstanceFieldValueTransformer ;
4745import com .oracle .svm .core .hub .DynamicHub ;
46+ import com .oracle .svm .core .metadata .MetadataTracer ;
4847import com .oracle .svm .core .reflect .serialize .MissingSerializationRegistrationUtils ;
4948
49+ import jdk .graal .compiler .java .LambdaUtils ;
50+
5051@ TargetClass (java .io .FileDescriptor .class )
5152final class Target_java_io_FileDescriptor {
5253
@@ -68,8 +69,8 @@ static ObjectStreamClass lookup(Class<?> cl, boolean all) {
6869 return null ;
6970 }
7071
71- if (Serializable .class .isAssignableFrom (cl )) {
72- if (!cl . isArray () && ! DynamicHub .fromClass (cl ).isRegisteredForSerialization ()) {
72+ if (Serializable .class .isAssignableFrom (cl ) && ! cl . isArray () ) {
73+ if (!DynamicHub .fromClass (cl ).isRegisteredForSerialization ()) {
7374 boolean isLambda = cl .getTypeName ().contains (LambdaUtils .LAMBDA_CLASS_NAME_SUBSTRING );
7475 boolean isProxy = Proxy .isProxyClass (cl );
7576 if (isProxy || isLambda ) {
@@ -87,6 +88,9 @@ static ObjectStreamClass lookup(Class<?> cl, boolean all) {
8788 MissingSerializationRegistrationUtils .missingSerializationRegistration (cl , "type " + cl .getTypeName ());
8889 }
8990 }
91+ if (MetadataTracer .Options .MetadataTracingSupport .getValue () && MetadataTracer .singleton ().enabled ()) {
92+ MetadataTracer .singleton ().traceSerializationType (cl .getName ());
93+ }
9094 }
9195
9296 return Target_java_io_ObjectStreamClass_Caches .localDescs0 .get (cl );
0 commit comments