harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dan Lydick" <dlyd...@earthlink.net>
Subject Re: [arch] VM/Classlibrary interface
Date Thu, 02 Jun 2005 22:20:42 GMT


> [Original Message]
> From: Geir Magnusson Jr. <geirm@apache.org>
> To: <harmony-dev@incubator.apache.org>
 > 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
> geirm@apache.org
> 
> 





Mime
View raw message