private static void WriteJavaMethod(this DataOutputStream stream, MetadataJavaMethod method) { stream.WriteUTF(method.Name); stream.WriteUTF(method.ReturnType); stream.WriteAccessFlagsParameter(method.AccessFlags); stream.WriteArray(method.Parameters, stream.WriteJavaParameter); }
private static void WriteJavaField(this DataOutputStream stream, MetadataJavaField field) { stream.WriteUTF(field.Name); stream.WriteUTF(field.Type); stream.WriteAccessFlagsParameter(field.AccessFlags); stream.WriteBoolean(field.ConstantValue != null); if (field.ConstantValue != null) { stream.WriteArray(field.ConstantValue, b => stream.WriteByte(b)); } }
private static void WriteJarClass(this DataOutputStream stream, MetadataJavaClass @class) { stream.WriteUTF(@class.ClassName); stream.WriteAccessFlagsParameter(@class.AccessFlags); stream.WriteArray(@class.Interfaces, stream.WriteUTF); stream.WriteArray(@class.AllInterfaces, stream.WriteUTF); stream.WriteArray(@class.Interfaces, stream.WriteUTF); stream.WriteArray(@class.AllSuperClasses, stream.WriteUTF); stream.WriteArray(@class.Methods, stream.WriteJavaMethod); stream.WriteArray(@class.Fields, stream.WriteJavaField); }