[Mono-devel-list] Corlib feature survey.

Miguel de Icaza miguel at ximian.com
Thu Aug 7 15:25:19 EDT 2003


Hello guys, 

    Duncan did a Corlib survey of missing features or pieces that are
known to be missing chunks.   Dick is already working on a big part of
this: the CultureInfo related bits.

    You might find this useful if you want to contribute to Corlib.

CORLIB audit, July 23, 2003

Namespace:

System:

Activator
        * 5 missing methods due to missing CultureInfo impl.

Array
        * Missing Array.Initialize.

Console
        * 2 missing methods, due to missing varargs support.

Environment
        * TODO methods and attributes due to Windows-specific naming and
          lack of UNIX equivalents.

        * GetFolderPath uses the Environment.SpecialFolders enum and
          there are values that cannot be mapped into UNIX equivalents.

        * Missing GetLogicalDrives, UserDomainName, UserInteractive,
          Version and WorkingSet

Exception
        * Source and TargetSite properties marked as TODO.

LocalDataSlot
        * TODO attribute in Finalize method.

String
        * Missing 2 Compare methods due to CultureInfo.
        * Missing Concat due to varargs
        * Missing ToUpper/ToLower, due to CultureInfo.

Type
        * Missing 8 methods from COM interop (GetTypeFromCLSID,
GetTypeFromProgID)

ArgIterator
        * AutoLayoutAttribute vs. SequentialLayoutAttribute

Char
        * Missing ToUpper/ToLower, due to CultureInfo.

DateTime
        * AutoLayoutAttribute vs. SequentialLayoutAttribute.

        * Missing 2 GetDateTimeFormats and ToDateTime related to
IFormatProvider.

Double
        * One TODO in Parse, impl. in place, needs checking.

Decimal
        * Not being CorCompared (!)

IntPtr
        * missing GetObjectData impl.

RuntimeMethodHandle
        * Missing ISerializable impl.

UIntPtr
        * CLSCompliantAttribute mismatch

System.Collections

CaseInsensitiveHashCodeProvider
        * Missing Constructor due to CultureInfo

HashTable
        * DefaultMemberAttribute mismatch

SortedList
        * DefaultMemberAttribute mismatch


System.Globalization

CompareInfo
        * All methods are marked as TODO

CultureInfo
        * All methods are marked as TODO


System.IO

Directory
        * GetLogicalDrives missing

FileStream
        * 4 missing methods (BeginRead, BeginWrite, EndRead, EndWrite)
        * 2 TODOs (Lock, Unlock)

StreamReader
        * missing DiscardBufferedData 


System.Reflection

Assembly
        * 8 TODO methods
        * Need to fix ModuleResolve event

AssemblyName
        * Clone, OnDeserialization and FullName are TODOs

AssemblyNameProxy
        * GetAssemblyName TODO

EventInfo:
        * 6 extra members

FieldInfo
        * missing Set/GetValueDirect.

ManifestResourceInfo
        * 3 TODO properties

Module:
        * 15 missing

System.Reflection.Emit:

MethodBuilder:
        * 7 missing methods (some trivial)

ModuleBuilder:
        * 17 missing

ParameterBuilder:
        * TODO, SetConstant

SignatureHelper:
        * 4 missing methods

TypeBuilder:
        * 4 missing
        * 4 TODO
        * 2 extra

System.Runtime.CompilerSerices
        
RuntimeHelpers:
        * missing

System.Runtime.InteropServices
        * missing 12 COM-releated types.
        * UCOMITypeLib: missing GetTypeInfoCount
        * COMException: ToString method marked as TODO
        * ComSourceInterfacesAttribute, IDispatchImplAttribute: missing
        * InvalidComObjectException, InvalidOleVariantTypeException,
          MarshalDirectiveException, SafeArrayRankMismatchException,
          SafeArrayTypeMismatchException: missing
        * CurrencyWrapper, DispatchWrapper, ErrorWrapper,
          ExtensibleClassFactory, TypeLibConverter, UnknownWrapper:
missing.
        * Marshal: Lots of TODO methods, missing 3 WriteInt16 methods.
        * around 25 missing COM interop types.

System.Runtime.InteropServices.TCEAdapterGen:
        * Completely missing.

System.Runtime.Remoting:
        * missing type: InternalRemotingServices
        * ToString method marked as TODO: ActivatedClientTypeEntry,
          ActivatedServiceTypeEntry, WellKnownCLientTypeEntry 
        * ObjRef: extra method (IsReferenceToWellKnow),
IsFromThisProcess marked as TODO.
        * RemotingServices: 3 missing methods, GetEnvoyChainForProxy,
          GetLifetimeServices, LogRemotingStage.
        * SoapServices: 13 TODO methods.

System.Runtime.Remoting.Activation:
        * 5 extra types: AppDomainLevelActivator,
          ConstructionLevelActivator, ContextLevelActivator,
          RemotingActivationAttribute, RemotingActivator
        
System.Runtime.Remoting.Channels:
        * BaseChannelWithProperties: 2 TODOs
        * ChannelServices: 3 TODOs
        * ClientChannelSinkStack: 1 TODO

System.Runtime.Remoting.Contexts:       
        * ContextAttribute, ContextProperty: extra constructor, but no
docs available.
        * Context: 10 missing methods.

System.Runtime.Remoting.Lifetime:
        * ClientSponsor: 6 TODO methods

System.Runtime.Remoting.Messaging:
        * 7 extra types
        * missing ILogicalThreadAffinative
        * CallContext: only stubs
        * ConstructionCall: impl. from Lluis, but no docs to verify.
        * ConstructionResponse: constructor mismatch, no docs.
        * MethodReturnMessageWrapper: 3 TODO methods, 1 extra property,
no docs.

System.Runtime.Remoting.Metadata:
        * all completed, but 19 TODO members in 4 attributes
        (SoapAttribute, SoapFieldAttribute, SoapMethodAttribute,
        SoapTypeAttribute)

System.Runtime.Remoting.Metadata.W3cXsd2001:
        * all have extra no-param constructor and missing a 1-param
constructor.
        * all similiarly stubbed with no impl.

System.Runtime.Remoting.Proxies:
        * Extra type, RemotingProxy.
        * RealProxy: 5 missing methods, 1 extra method
        (InternalGetTransportProxy), 1 TODO method
(InitializeServerObject).

System.Runtime.Remoting.Services:
        * missing type, EnterpriseServicesHelper.

System.Runtime.Serialization:
        * extra type: ObjectRecordStatus.

System.Runtime.Serialization.Formatters:
        * missing InternalRM, InternalST.
        * ServerFault and SoapFault: missing SoapTypeAttribute (not
documented)
        * missing 12 types (all prefixed Internal)

System.Security:
        * CodeAccessPermission: needs impl. (9 methods)
        * PermissionSet: needs impl. (9 methods)
        * SecurityManager: 9 methods missing (different from previous
2), only stubs.

System.Security.Cryptography:
        * DSACryptoServiceProvider, PasswordDeriveBytes,
        RNGCryptoServiceProvider, RSACryptoServiceProvider: 4 TODOs
        * SignatureDescription: one TODO constructor
        
System.Security.Cryptography.X509Certificates:
        * X509Certificates: one TODO (CreateFromSignedFile)

System.Security.Permissions:
        * lots of types missing IBuiltinPermission (no docs)
        * missing CreatePermission methods in attributes.
        * FromXml and ToXml marked TODO in multiple Permissions.

System.Security.Policy:
        * 7 missing types, PermissionRequestEvidence, Site,
        SiteMembershipCondition, StrongNameMembershipCondition,
        UnionCodeGroup, Url, UrlMembershipCondition,
ZoneMembershipCondition.
        * missing IConstantMembershipCondition in Condition classes, no
docs.
        * PolicyLevel: needs impl.

System.Security.Principal:
        * Missing WindowsPrincipal.
        * WindowsIdentity: only stubs.
        * WindowsImpersonationContext: only stubs

System.Security.Util:
        * we have nothing, no docs either.

System.Text:

ANSIEncoding
        * 6 extra properties

UnicodeEncoding:
        * missing method: GetBytes (string)
        * 6 extra properties

UTF7Encoding:
        * 7 extra properties

UTF8Encoding:
        * missing method: GetBytes (string)
        * 14 extra properties

System.Threading:
        
CompressedStack:
        * Missing.

Monitor:
        * 2 Wait methods TODO.

Overlapped:
        * 10 TODO.

ReaderWriterLock:
        * 16 TODO.

RegisteredWaitHandle:
        * Finalized TODO

Thread:
        * SpinWait method missing
        * 3 TODO methods with no impl.
        * 5 TODO methods.

ThreadPool:
        * Missing UnsafeRegisterWaitForSingleObject

Timer:
        * 2 TODO: Change, Dispose.

WaitHandle:
        *  TODO: one constructor
-- 
Miguel de Icaza <miguel at ximian.com>



More information about the Mono-devel-list mailing list