This commit is contained in:
jfrijters 2005-03-14 14:29:47 +00:00
Родитель 3d1824e144
Коммит 9a62c6f197
2 изменённых файлов: 98 добавлений и 32 удалений

Просмотреть файл

@ -1,34 +1,3 @@
gnu/classpath/Configuration.java
gnu/classpath/RawData.java
gnu/classpath/VMStackWalker.java
gnu/classpath/VMSystemProperties.java
gnu/java/net/PlainDatagramSocketImpl.java
gnu/java/net/PlainSocketImpl.java
gnu/java/net/protocol/ikvmres/Handler.java
gnu/java/nio/channels/FileChannelImpl.java
ikvm/internal/LibraryVMInterface.java
ikvm/lang/CIL.java
java/io/VMFile.java
java/lang/ExceptionHelper.java
java/lang/LibraryVMInterfaceImpl.java
java/lang/ref/Reference.java
java/lang/reflect/Constructor.java
java/lang/reflect/Field.java
java/lang/reflect/Method.java
java/lang/StringHelper.java
java/lang/VMClass.java
java/lang/VMClassLoader.java
java/lang/VMDouble.java
java/lang/VMFloat.java
java/lang/VMRuntime.java
java/lang/VMSystem.java
java/lang/VMThread.java
java/nio/channels/VMChannels.java
java/nio/VMDirectByteBuffer.java
java/security/VMAccessController.java
java/util/LocaleData.java
java/util/VMTimeZone.java
sun/misc/Ref.java
../../classpath/external/sax/org/xml/sax/AttributeList.java
../../classpath/external/sax/org/xml/sax/Attributes.java
../../classpath/external/sax/org/xml/sax/ContentHandler.java
@ -919,8 +888,52 @@ sun/misc/Ref.java
../../classpath/gnu/xml/dom/html2/DomHTMLBRElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLButtonElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLCollection.java
../../classpath/gnu/xml/dom/html2/DomHTMLDirectoryElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLDivElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLDListElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLDocument.java
../../classpath/gnu/xml/dom/html2/DomHTMLElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLFieldSetElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLFontElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLFormElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLFrameElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLFrameSetElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLHeadElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLHeadingElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLHRElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLHtmlElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLIFrameElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLImageElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLInputElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLIsIndexElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLLabelElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLLegendElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLLIElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLLinkElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLMapElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLMenuElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLMetaElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLModElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLObjectElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLOListElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLOptGroupElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLOptionElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLParagraphElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLParamElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLPreElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLQuoteElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLScriptElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLSelectElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLStyleElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLTableCaptionElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLTableCellElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLTableColElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLTableElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLTableRowElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLTableSectionElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLTextAreaElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLTitleElement.java
../../classpath/gnu/xml/dom/html2/DomHTMLUListElement.java
../../classpath/gnu/xml/dom/ImplementationList.java
../../classpath/gnu/xml/dom/ImplementationSource.java
../../classpath/gnu/xml/dom/JAXPFactory.java
@ -3024,10 +3037,12 @@ sun/misc/Ref.java
../../classpath/org/omg/CORBA/BAD_PARAM.java
../../classpath/org/omg/CORBA/BAD_TYPECODE.java
../../classpath/org/omg/CORBA/BooleanHolder.java
../../classpath/org/omg/CORBA/BooleanSeqHelper.java
../../classpath/org/omg/CORBA/BooleanSeqHolder.java
../../classpath/org/omg/CORBA/Bounds.java
../../classpath/org/omg/CORBA/ByteHolder.java
../../classpath/org/omg/CORBA/CharHolder.java
../../classpath/org/omg/CORBA/CharSeqHelper.java
../../classpath/org/omg/CORBA/CharSeqHolder.java
../../classpath/org/omg/CORBA/COMM_FAILURE.java
../../classpath/org/omg/CORBA/CompletionStatus.java
@ -3035,9 +3050,11 @@ sun/misc/Ref.java
../../classpath/org/omg/CORBA/ContextList.java
../../classpath/org/omg/CORBA/DATA_CONVERSION.java
../../classpath/org/omg/CORBA/DoubleHolder.java
../../classpath/org/omg/CORBA/DoubleSeqHelper.java
../../classpath/org/omg/CORBA/DoubleSeqHolder.java
../../classpath/org/omg/CORBA/FixedHolder.java
../../classpath/org/omg/CORBA/FloatHolder.java
../../classpath/org/omg/CORBA/FloatSeqHelper.java
../../classpath/org/omg/CORBA/FloatSeqHolder.java
../../classpath/org/omg/CORBA/FREE_MEM.java
../../classpath/org/omg/CORBA/IDLEntity.java
@ -3052,7 +3069,9 @@ sun/misc/Ref.java
../../classpath/org/omg/CORBA/INV_POLICY.java
../../classpath/org/omg/CORBA/INVALID_TRANSACTION.java
../../classpath/org/omg/CORBA/LongHolder.java
../../classpath/org/omg/CORBA/LongLongSeqHelper.java
../../classpath/org/omg/CORBA/LongLongSeqHolder.java
../../classpath/org/omg/CORBA/LongSeqHelper.java
../../classpath/org/omg/CORBA/LongSeqHolder.java
../../classpath/org/omg/CORBA/MARSHAL.java
../../classpath/org/omg/CORBA/NamedValue.java
@ -3063,6 +3082,7 @@ sun/misc/Ref.java
../../classpath/org/omg/CORBA/OBJ_ADAPTER.java
../../classpath/org/omg/CORBA/Object.java
../../classpath/org/omg/CORBA/OBJECT_NOT_EXIST.java
../../classpath/org/omg/CORBA/OctetSeqHelper.java
../../classpath/org/omg/CORBA/OctetSeqHolder.java
../../classpath/org/omg/CORBA/ORB.java
../../classpath/org/omg/CORBA/PERSIST_STORE.java
@ -3072,8 +3092,11 @@ sun/misc/Ref.java
../../classpath/org/omg/CORBA/portable/Streamable.java
../../classpath/org/omg/CORBA/Principal.java
../../classpath/org/omg/CORBA/ShortHolder.java
../../classpath/org/omg/CORBA/ShortSeqHelper.java
../../classpath/org/omg/CORBA/ShortSeqHolder.java
../../classpath/org/omg/CORBA/StringHolder.java
../../classpath/org/omg/CORBA/StringSeqHelper.java
../../classpath/org/omg/CORBA/StringSeqHolder.java
../../classpath/org/omg/CORBA/SystemException.java
../../classpath/org/omg/CORBA/TCKind.java
../../classpath/org/omg/CORBA/TRANSACTION_REQUIRED.java
@ -3083,12 +3106,18 @@ sun/misc/Ref.java
../../classpath/org/omg/CORBA/TypeCodeHolder.java
../../classpath/org/omg/CORBA/TypeCodePackage/BadKind.java
../../classpath/org/omg/CORBA/TypeCodePackage/Bounds.java
../../classpath/org/omg/CORBA/ULongLongSeqHelper.java
../../classpath/org/omg/CORBA/ULongLongSeqHolder.java
../../classpath/org/omg/CORBA/ULongSeqHelper.java
../../classpath/org/omg/CORBA/ULongSeqHolder.java
../../classpath/org/omg/CORBA/UNKNOWN.java
../../classpath/org/omg/CORBA/UserException.java
../../classpath/org/omg/CORBA/UShortSeqHelper.java
../../classpath/org/omg/CORBA/UShortSeqHolder.java
../../classpath/org/omg/CORBA/WCharSeqHelper.java
../../classpath/org/omg/CORBA/WCharSeqHolder.java
../../classpath/org/omg/CORBA/WStringSeqHelper.java
../../classpath/org/omg/CORBA/WStringSeqHolder.java
../../classpath/vm/reference/gnu/java/nio/VMPipe.java
../../classpath/vm/reference/gnu/java/nio/VMSelector.java
../../classpath/vm/reference/java/io/VMObjectStreamClass.java
@ -3096,3 +3125,34 @@ sun/misc/Ref.java
../../classpath/vm/reference/java/lang/VMObject.java
../../classpath/vm/reference/java/lang/VMString.java
../../classpath/vm/reference/java/lang/VMThrowable.java
gnu/classpath/Configuration.java
gnu/classpath/RawData.java
gnu/classpath/VMStackWalker.java
gnu/classpath/VMSystemProperties.java
gnu/java/net/PlainDatagramSocketImpl.java
gnu/java/net/PlainSocketImpl.java
gnu/java/net/protocol/ikvmres/Handler.java
gnu/java/nio/channels/FileChannelImpl.java
ikvm/internal/LibraryVMInterface.java
ikvm/lang/CIL.java
java/io/VMFile.java
java/lang/ExceptionHelper.java
java/lang/LibraryVMInterfaceImpl.java
java/lang/ref/Reference.java
java/lang/reflect/Constructor.java
java/lang/reflect/Field.java
java/lang/reflect/Method.java
java/lang/StringHelper.java
java/lang/VMClass.java
java/lang/VMClassLoader.java
java/lang/VMDouble.java
java/lang/VMFloat.java
java/lang/VMRuntime.java
java/lang/VMSystem.java
java/lang/VMThread.java
java/nio/channels/VMChannels.java
java/nio/VMDirectByteBuffer.java
java/security/VMAccessController.java
java/util/LocaleData.java
java/util/VMTimeZone.java
sun/misc/Ref.java

Просмотреть файл

@ -1,5 +1,5 @@
/*
Copyright (C) 2002, 2003, 2004 Jeroen Frijters
Copyright (C) 2002, 2003, 2004, 2005 Jeroen Frijters
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@ -220,6 +220,12 @@ namespace IKVM.Runtime
public static bool DynamicInstanceOf(object obj, RuntimeTypeHandle type, string clazz)
{
Profiler.Count("DynamicInstanceOf");
// NOTE it's important that we don't try to load the class if obj == null
// (to be compatible with Sun)
if(obj == null)
{
return false;
}
TypeWrapper wrapper = LoadTypeWrapper(type, clazz);
TypeWrapper other = ClassLoaderWrapper.GetWrapperFromType(obj.GetType());
return other.IsAssignableTo(wrapper);