[Mono-list] keeping corlib self-contained
Paolo Molaro
lupus@ximian.com
Sat, 5 Jan 2002 15:44:00 +0100
As you know corlib needs to be self-contained, i.e. it can't depend
on other assemblies. There is an easy way to see what methods/fields
are referenced in other assemblies (currently from mscorlib): on Linux
run
monodis --memberref corlib.dll
So, if you introduce new code, make also sure that you don't introduce
new dependencies (or help remove the current ones).
We are currently down to 11 methods referenced from mscorlib:
MemberRef Table (0..11)
0: TypeRef[9] .ctor
Resolved: [mscorlib]System.Security.Permissions.SecurityPermissionAttribute..ctor
Signature: instance void(valuetype System.MonoDummy)
1: TypeRef[11] .ctor
Resolved: [mscorlib]System.Security.Permissions.EnvironmentPermissionAttribute..ctor
Signature: instance void(valuetype System.MonoDummy)
2: TypeRef[12] WriteLine
Resolved: [System]System.Diagnostics.Debug.WriteLine
Signature: void(object)
3: TypeRef[13] .ctor
Resolved: [mscorlib]System.Security.Permissions.FileIOPermission..ctor
Signature: instance void(valuetype System.MonoDummy, string)
4: TypeRef[15] .ctor
Resolved: [mscorlib]System.Security.Cryptography.SHA384Managed..ctor
Signature: instance void()
5: TypeRef[16] .ctor
Resolved: [mscorlib]System.Security.Cryptography.SHA512Managed..ctor
Signature: instance void()
6: TypeRef[17] Create
Resolved: [mscorlib]System.Security.Cryptography.Rijndael.Create
Signature: class System.MonoDummy()
7: TypeRef[18] Create
Resolved: [mscorlib]System.Security.Cryptography.RSA.Create
Signature: class System.MonoDummy()
8: TypeRef[19] .ctor
Resolved: [mscorlib]System.Security.Cryptography.DSACryptoServiceProvider..ctor
Signature: instance void()
9: TypeRef[12] Assert
Resolved: [System]System.Diagnostics.Debug.Assert
Signature: void(bool)
10: TypeRef[12] WriteLine
Resolved: [System]System.Diagnostics.Debug.WriteLine
Signature: void(string)
The Types referenced are, instead:
Typeref Table
1: [mscorlib]System.ResolveEventArgs
2: [mscorlib]System.Security.Cryptography.X509Certificates.X509Certificate
3: [mscorlib]System.Runtime.Serialization.SerializationInfoEnumerator
4: [mscorlib]System.Runtime.InteropServices.GCHandle
5: [mscorlib]System.Reflection.Emit.UnmanagedMarshal
6: [mscorlib]System.Resources.IResourceWriter
7: [mscorlib]System.Runtime.Remoting.Messaging.LogicalCallContext
8: [mscorlib]System.Guid
9: [mscorlib]System.Security.Permissions.SecurityPermissionAttribute
10: [mscorlib]System.Security.Permissions.SecurityAction
11: [mscorlib]System.Security.Permissions.EnvironmentPermissionAttribute
12: [System]System.Diagnostics.Debug
13: [mscorlib]System.Security.Permissions.FileIOPermission
14: [mscorlib]System.Security.Permissions.FileIOPermissionAccess
15: [mscorlib]System.Security.Cryptography.SHA384Managed
16: [mscorlib]System.Security.Cryptography.SHA512Managed
17: [mscorlib]System.Security.Cryptography.Rijndael
18: [mscorlib]System.Security.Cryptography.RSA
19: [mscorlib]System.Security.Cryptography.DSACryptoServiceProvider
lupus
--
-----------------------------------------------------------------
lupus@debian.org debian/rules
lupus@ximian.com Monkeys do it better