> [Original Message] > From: Geir Magnusson Jr. <[EMAIL PROTECTED]> > To: <[email protected]> > Date: 5/31/05 2:44:19 PM > Subject: Re: [arch] VM/Classlibrary interface > >
...snip... > > And you can circumvent the language protection (package private...) > if you work hard enough too, I believe... > > Keeping out of "java.lang" seems wise if we can arrange it... It seems to me that control of 'java.lang' and 'java.lang.*' would be the simplest way to deal with issues of control of the implementation so that it is a Harmony implementation, not one from Sun, IBM, FSF, Sourceforge.* or anyone else. From the Sun JDK 1.5.0 src.zip, there are 49 distinct 'sun.*' imports in the 'java.lang' package, none of which are found in this archive: sun.io.ByteToCharConverter; sun.io.CharToByteConverter; sun.io.Converters; sun.management.MemoryNotifInfoCompositeData; sun.management.MemoryUsageCompositeData; sun.management.PlatformMXBeanInvocationHandler; sun.management.ThreadInfoCompositeData; sun.misc.ClassFileTransformer; sun.misc.Cleaner; sun.misc.CompoundEnumeration; sun.misc.DoubleConsts; sun.misc.FloatConsts; sun.misc.FloatingDecimal; sun.misc.FpUtils; sun.misc.MessageUtils; sun.misc.ProxyGenerator; sun.misc.Resource; sun.misc.Signal; sun.misc.SignalHandler; sun.misc.SoftCache; sun.misc.URLClassPath; sun.misc.Unsafe; sun.misc.VM; sun.net.InetAddressCachePolicy; sun.net.www.ParseUtil; sun.nio.ch.Interruptible; sun.nio.cs.HistoricallyNamedCharset; sun.reflect.ConstantPool; sun.reflect.ConstructorAccessor; sun.reflect.FieldAccessor; sun.reflect.LangReflectAccess; sun.reflect.MethodAccessor; sun.reflect.Reflection; sun.reflect.ReflectionFactory; sun.reflect.SignatureIterator; sun.reflect.annotation.*; sun.reflect.annotation.AnnotationParser; sun.reflect.annotation.AnnotationType; sun.reflect.generics.factory.CoreReflectionFactory; sun.reflect.generics.factory.GenericsFactory; sun.reflect.generics.repository.ClassRepository; sun.reflect.generics.repository.ConstructorRepository; sun.reflect.generics.repository.FieldRepository; sun.reflect.generics.repository.MethodRepository; sun.reflect.generics.scope.ClassScope; sun.reflect.generics.scope.ConstructorScope; sun.reflect.generics.scope.MethodScope; sun.security.util.SecurityConstants; sun.text.Normalizer; By writing _only_ java.lang and java.lang.*, we can truly speak of a separate implementation. Adding only _parts_ of libraries like GNU ClassPath would mean that users would implement Harmony library policies, not Sun's, FSF's, or anybody elses. This implemetation of java.lang and java.lang.* is only 165 classes in 53K lines of code, not including native code. Doable by this group without a doubt. Dan Lydick > > geir > > > > > > -> richard > > > > > > > > -- > Geir Magnusson Jr +1-203-665-6437 > [EMAIL PROTECTED] > >
