зеркало из https://github.com/mono/ikvm-fork.git
*** empty log message ***
This commit is contained in:
Родитель
66240faf32
Коммит
3d1824e144
|
@ -1,29 +1,28 @@
|
|||
ikvm/internal/LibraryVMInterface.java
|
||||
ikvm/lang/CIL.java
|
||||
ikvm/lang/ByteArrayHack.java
|
||||
gnu/classpath/Configuration.java
|
||||
gnu/classpath/RawData.java
|
||||
gnu/classpath/VMStackWalker.java
|
||||
gnu/classpath/VMSystemProperties.java
|
||||
gnu/java/nio/channels/FileChannelImpl.java
|
||||
gnu/java/net/protocol/ikvmres/Handler.java
|
||||
gnu/java/net/PlainSocketImpl.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/LibraryVMInterfaceImpl.java
|
||||
java/lang/VMThread.java
|
||||
java/lang/VMClass.java
|
||||
java/lang/VMDouble.java
|
||||
java/lang/VMFloat.java
|
||||
java/lang/VMSystem.java
|
||||
java/lang/ExceptionHelper.java
|
||||
java/lang/StringHelper.java
|
||||
java/lang/VMClassLoader.java
|
||||
java/lang/VMRuntime.java
|
||||
java/lang/LibraryVMInterfaceImpl.java
|
||||
java/lang/ref/Reference.java
|
||||
java/lang/reflect/Constructor.java
|
||||
java/lang/reflect/Method.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
|
||||
|
@ -215,6 +214,8 @@ sun/misc/Ref.java
|
|||
../../classpath/gnu/classpath/ServiceFactory.java
|
||||
../../classpath/gnu/classpath/ServiceProviderLoadingAction.java
|
||||
../../classpath/gnu/classpath/SystemProperties.java
|
||||
../../classpath/gnu/CORBA/primitiveArrayTypeCode.java
|
||||
../../classpath/gnu/CORBA/primitiveTypeCode.java
|
||||
../../classpath/gnu/java/awt/BitMaskExtent.java
|
||||
../../classpath/gnu/java/awt/BitwiseXORComposite.java
|
||||
../../classpath/gnu/java/awt/Buffers.java
|
||||
|
@ -352,10 +353,6 @@ sun/misc/Ref.java
|
|||
../../classpath/gnu/java/lang/ClassHelper.java
|
||||
../../classpath/gnu/java/lang/MainThread.java
|
||||
../../classpath/gnu/java/lang/reflect/TypeSignature.java
|
||||
../../classpath/gnu/java/locale/Calendar.java
|
||||
../../classpath/gnu/java/locale/Calendar_de.java
|
||||
../../classpath/gnu/java/locale/Calendar_en.java
|
||||
../../classpath/gnu/java/locale/Calendar_nl.java
|
||||
../../classpath/gnu/java/locale/LocaleHelper.java
|
||||
../../classpath/gnu/java/locale/LocaleInformation.java
|
||||
../../classpath/gnu/java/locale/LocaleInformation_aa.java
|
||||
|
@ -680,6 +677,7 @@ sun/misc/Ref.java
|
|||
../../classpath/gnu/java/net/protocol/http/ResponseBodyReader.java
|
||||
../../classpath/gnu/java/net/protocol/http/ResponseHeaderHandler.java
|
||||
../../classpath/gnu/java/net/protocol/http/SimpleCookieManager.java
|
||||
../../classpath/gnu/java/net/protocol/https/Handler.java
|
||||
../../classpath/gnu/java/net/protocol/jar/Connection.java
|
||||
../../classpath/gnu/java/net/protocol/jar/Handler.java
|
||||
../../classpath/gnu/java/net/URLParseError.java
|
||||
|
@ -827,6 +825,29 @@ sun/misc/Ref.java
|
|||
../../classpath/gnu/javax/rmi/CORBA/UtilDelegateImpl.java
|
||||
../../classpath/gnu/javax/rmi/CORBA/ValueHandlerImpl.java
|
||||
../../classpath/gnu/javax/rmi/PortableServer.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/gnuDTD.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/HTML_401F.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/htmlAttributeSet.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/htmlValidator.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/models/list.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/models/node.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/models/noTagModel.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/models/PCDATAonly_model.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/models/TableRowContentModel.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/models/transformer.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/support/gnuStringIntMapper.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/support/low/Buffer.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/support/low/Constants.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/support/low/Location.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/support/low/node.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/support/low/ParseException.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/support/low/pattern.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/support/low/Queue.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/support/low/ReaderTokenizer.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/support/low/Token.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/support/parameterDefaulter.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/support/Parser.java
|
||||
../../classpath/gnu/javax/swing/text/html/parser/support/textPreProcessor.java
|
||||
../../classpath/gnu/regexp/CharIndexed.java
|
||||
../../classpath/gnu/regexp/CharIndexedCharArray.java
|
||||
../../classpath/gnu/regexp/CharIndexedInputStream.java
|
||||
|
@ -889,6 +910,17 @@ sun/misc/Ref.java
|
|||
../../classpath/gnu/xml/dom/DomXPathResult.java
|
||||
../../classpath/gnu/xml/dom/DTDAttributeTypeInfo.java
|
||||
../../classpath/gnu/xml/dom/DTDElementTypeInfo.java
|
||||
../../classpath/gnu/xml/dom/html2/DomHTMLAnchorElement.java
|
||||
../../classpath/gnu/xml/dom/html2/DomHTMLAppletElement.java
|
||||
../../classpath/gnu/xml/dom/html2/DomHTMLAreaElement.java
|
||||
../../classpath/gnu/xml/dom/html2/DomHTMLBaseElement.java
|
||||
../../classpath/gnu/xml/dom/html2/DomHTMLBaseFontElement.java
|
||||
../../classpath/gnu/xml/dom/html2/DomHTMLBodyElement.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/DomHTMLDocument.java
|
||||
../../classpath/gnu/xml/dom/html2/DomHTMLElement.java
|
||||
../../classpath/gnu/xml/dom/ImplementationList.java
|
||||
../../classpath/gnu/xml/dom/ImplementationSource.java
|
||||
../../classpath/gnu/xml/dom/JAXPFactory.java
|
||||
|
@ -2811,6 +2843,7 @@ sun/misc/Ref.java
|
|||
../../classpath/javax/swing/text/AttributeSet.java
|
||||
../../classpath/javax/swing/text/BadLocationException.java
|
||||
../../classpath/javax/swing/text/Caret.java
|
||||
../../classpath/javax/swing/text/ChangedCharSetException.java
|
||||
../../classpath/javax/swing/text/ComponentView.java
|
||||
../../classpath/javax/swing/text/DefaultCaret.java
|
||||
../../classpath/javax/swing/text/DefaultEditorKit.java
|
||||
|
@ -2824,7 +2857,18 @@ sun/misc/Ref.java
|
|||
../../classpath/javax/swing/text/GapContent.java
|
||||
../../classpath/javax/swing/text/Highlighter.java
|
||||
../../classpath/javax/swing/text/html/HTML.java
|
||||
../../classpath/javax/swing/text/html/HTMLEditorKit.java
|
||||
../../classpath/javax/swing/text/html/HTMLFrameHyperlinkEvent.java
|
||||
../../classpath/javax/swing/text/html/parser/AttributeList.java
|
||||
../../classpath/javax/swing/text/html/parser/ContentModel.java
|
||||
../../classpath/javax/swing/text/html/parser/DocumentParser.java
|
||||
../../classpath/javax/swing/text/html/parser/DTD.java
|
||||
../../classpath/javax/swing/text/html/parser/DTDConstants.java
|
||||
../../classpath/javax/swing/text/html/parser/Element.java
|
||||
../../classpath/javax/swing/text/html/parser/Entity.java
|
||||
../../classpath/javax/swing/text/html/parser/Parser.java
|
||||
../../classpath/javax/swing/text/html/parser/ParserDelegator.java
|
||||
../../classpath/javax/swing/text/html/parser/TagElement.java
|
||||
../../classpath/javax/swing/text/JTextComponent.java
|
||||
../../classpath/javax/swing/text/Keymap.java
|
||||
../../classpath/javax/swing/text/LayeredHighlighter.java
|
||||
|
@ -2834,6 +2878,13 @@ sun/misc/Ref.java
|
|||
../../classpath/javax/swing/text/PlainDocument.java
|
||||
../../classpath/javax/swing/text/PlainView.java
|
||||
../../classpath/javax/swing/text/Position.java
|
||||
../../classpath/javax/swing/text/rtf/ControlWordToken.java
|
||||
../../classpath/javax/swing/text/rtf/RTFEditorKit.java
|
||||
../../classpath/javax/swing/text/rtf/RTFParseException.java
|
||||
../../classpath/javax/swing/text/rtf/RTFParser.java
|
||||
../../classpath/javax/swing/text/rtf/RTFScanner.java
|
||||
../../classpath/javax/swing/text/rtf/TextToken.java
|
||||
../../classpath/javax/swing/text/rtf/Token.java
|
||||
../../classpath/javax/swing/text/Segment.java
|
||||
../../classpath/javax/swing/text/SimpleAttributeSet.java
|
||||
../../classpath/javax/swing/text/StringContent.java
|
||||
|
@ -2961,6 +3012,83 @@ sun/misc/Ref.java
|
|||
../../classpath/org/ietf/jgss/GSSName.java
|
||||
../../classpath/org/ietf/jgss/MessageProp.java
|
||||
../../classpath/org/ietf/jgss/Oid.java
|
||||
../../classpath/org/omg/CORBA/Any.java
|
||||
../../classpath/org/omg/CORBA/AnyHolder.java
|
||||
../../classpath/org/omg/CORBA/ARG_IN.java
|
||||
../../classpath/org/omg/CORBA/ARG_INOUT.java
|
||||
../../classpath/org/omg/CORBA/ARG_OUT.java
|
||||
../../classpath/org/omg/CORBA/BAD_CONTEXT.java
|
||||
../../classpath/org/omg/CORBA/BAD_INV_ORDER.java
|
||||
../../classpath/org/omg/CORBA/BAD_OPERATION.java
|
||||
../../classpath/org/omg/CORBA/BAD_OPERATION.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/BooleanSeqHolder.java
|
||||
../../classpath/org/omg/CORBA/Bounds.java
|
||||
../../classpath/org/omg/CORBA/ByteHolder.java
|
||||
../../classpath/org/omg/CORBA/CharHolder.java
|
||||
../../classpath/org/omg/CORBA/CharSeqHolder.java
|
||||
../../classpath/org/omg/CORBA/COMM_FAILURE.java
|
||||
../../classpath/org/omg/CORBA/CompletionStatus.java
|
||||
../../classpath/org/omg/CORBA/Context.java
|
||||
../../classpath/org/omg/CORBA/ContextList.java
|
||||
../../classpath/org/omg/CORBA/DATA_CONVERSION.java
|
||||
../../classpath/org/omg/CORBA/DoubleHolder.java
|
||||
../../classpath/org/omg/CORBA/DoubleSeqHolder.java
|
||||
../../classpath/org/omg/CORBA/FixedHolder.java
|
||||
../../classpath/org/omg/CORBA/FloatHolder.java
|
||||
../../classpath/org/omg/CORBA/FloatSeqHolder.java
|
||||
../../classpath/org/omg/CORBA/FREE_MEM.java
|
||||
../../classpath/org/omg/CORBA/IDLEntity.java
|
||||
../../classpath/org/omg/CORBA/IMP_LIMIT.java
|
||||
../../classpath/org/omg/CORBA/INITIALIZE.java
|
||||
../../classpath/org/omg/CORBA/INTERNAL.java
|
||||
../../classpath/org/omg/CORBA/INTF_REPOS.java
|
||||
../../classpath/org/omg/CORBA/IntHolder.java
|
||||
../../classpath/org/omg/CORBA/INV_FLAG.java
|
||||
../../classpath/org/omg/CORBA/INV_IDENT.java
|
||||
../../classpath/org/omg/CORBA/INV_OBJREF.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/LongLongSeqHolder.java
|
||||
../../classpath/org/omg/CORBA/LongSeqHolder.java
|
||||
../../classpath/org/omg/CORBA/MARSHAL.java
|
||||
../../classpath/org/omg/CORBA/NamedValue.java
|
||||
../../classpath/org/omg/CORBA/NO_IMPLEMENT.java
|
||||
../../classpath/org/omg/CORBA/NO_MEMORY.java
|
||||
../../classpath/org/omg/CORBA/NO_PERMISSION.java
|
||||
../../classpath/org/omg/CORBA/NO_RESPONSE.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/OctetSeqHolder.java
|
||||
../../classpath/org/omg/CORBA/ORB.java
|
||||
../../classpath/org/omg/CORBA/PERSIST_STORE.java
|
||||
../../classpath/org/omg/CORBA/portable/IDLEntity.java
|
||||
../../classpath/org/omg/CORBA/portable/InputStream.java
|
||||
../../classpath/org/omg/CORBA/portable/OutputStream.java
|
||||
../../classpath/org/omg/CORBA/portable/Streamable.java
|
||||
../../classpath/org/omg/CORBA/Principal.java
|
||||
../../classpath/org/omg/CORBA/ShortHolder.java
|
||||
../../classpath/org/omg/CORBA/ShortSeqHolder.java
|
||||
../../classpath/org/omg/CORBA/StringHolder.java
|
||||
../../classpath/org/omg/CORBA/SystemException.java
|
||||
../../classpath/org/omg/CORBA/TCKind.java
|
||||
../../classpath/org/omg/CORBA/TRANSACTION_REQUIRED.java
|
||||
../../classpath/org/omg/CORBA/TRANSACTION_ROLLEDBACK.java
|
||||
../../classpath/org/omg/CORBA/TRANSIENT.java
|
||||
../../classpath/org/omg/CORBA/TypeCode.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/ULongLongSeqHolder.java
|
||||
../../classpath/org/omg/CORBA/ULongSeqHolder.java
|
||||
../../classpath/org/omg/CORBA/UNKNOWN.java
|
||||
../../classpath/org/omg/CORBA/UserException.java
|
||||
../../classpath/org/omg/CORBA/UShortSeqHolder.java
|
||||
../../classpath/org/omg/CORBA/WCharSeqHolder.java
|
||||
../../classpath/vm/reference/gnu/java/nio/VMPipe.java
|
||||
../../classpath/vm/reference/gnu/java/nio/VMSelector.java
|
||||
../../classpath/vm/reference/java/io/VMObjectStreamClass.java
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* FileChannelImpl.java --
|
||||
Copyright (C) 2002, 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
|
@ -238,10 +238,6 @@ public final class FileChannelImpl extends FileChannel
|
|||
if(stream == null)
|
||||
throw new IOException("Invalid FileChannelImpl");
|
||||
|
||||
if (size < 0)
|
||||
throw new IllegalArgumentException("Length cannot be less than zero " +
|
||||
size);
|
||||
|
||||
try
|
||||
{
|
||||
if(false) throw new cli.System.IO.IOException();
|
||||
|
@ -521,7 +517,7 @@ public final class FileChannelImpl extends FileChannel
|
|||
public MappedByteBuffer mapImpl (char mode, long position, int size) throws IOException
|
||||
{
|
||||
// TODO
|
||||
throw new Error("not implemented");
|
||||
throw new IOException("not implemented");
|
||||
}
|
||||
|
||||
public MappedByteBuffer map (FileChannel.MapMode mode,
|
||||
|
@ -581,7 +577,30 @@ public final class FileChannelImpl extends FileChannel
|
|||
|
||||
private static native boolean flush(cli.System.IO.FileStream fs);
|
||||
|
||||
public long transferTo (long position, long count, WritableByteChannel target)
|
||||
// like transferTo, but with a count of less than 2Gbytes
|
||||
private int smallTransferTo (long position, int count,
|
||||
WritableByteChannel target)
|
||||
throws IOException
|
||||
{
|
||||
ByteBuffer buffer;
|
||||
try
|
||||
{
|
||||
// Try to use a mapped buffer if we can. If this fails for
|
||||
// any reason we'll fall back to using a ByteBuffer.
|
||||
buffer = map (MapMode.READ_ONLY, position, count);
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
buffer = ByteBuffer.allocate (count);
|
||||
read (buffer, position);
|
||||
buffer.flip();
|
||||
}
|
||||
|
||||
return target.write (buffer);
|
||||
}
|
||||
|
||||
public long transferTo (long position, long count,
|
||||
WritableByteChannel target)
|
||||
throws IOException
|
||||
{
|
||||
if (position < 0
|
||||
|
@ -594,14 +613,57 @@ public final class FileChannelImpl extends FileChannel
|
|||
if ((mode & READ) == 0)
|
||||
throw new NonReadableChannelException ();
|
||||
|
||||
// XXX: count needs to be casted from long to int. Dataloss ?
|
||||
ByteBuffer buffer = ByteBuffer.allocate ((int) count);
|
||||
read (buffer, position);
|
||||
buffer.flip();
|
||||
return target.write (buffer);
|
||||
final int pageSize = 65536;
|
||||
long total = 0;
|
||||
|
||||
while (count > 0)
|
||||
{
|
||||
int transferred
|
||||
= smallTransferTo (position, (int)Math.min (count, pageSize),
|
||||
target);
|
||||
if (transferred < 0)
|
||||
break;
|
||||
total += transferred;
|
||||
position += transferred;
|
||||
count -= transferred;
|
||||
}
|
||||
|
||||
public long transferFrom (ReadableByteChannel src, long position, long count)
|
||||
return total;
|
||||
}
|
||||
|
||||
// like transferFrom, but with a count of less than 2Gbytes
|
||||
private int smallTransferFrom (ReadableByteChannel src, long position,
|
||||
int count)
|
||||
throws IOException
|
||||
{
|
||||
ByteBuffer buffer = null;
|
||||
|
||||
if (src instanceof FileChannel)
|
||||
{
|
||||
try
|
||||
{
|
||||
// Try to use a mapped buffer if we can. If this fails
|
||||
// for any reason we'll fall back to using a ByteBuffer.
|
||||
buffer = ((FileChannel)src).map (MapMode.READ_ONLY, position,
|
||||
count);
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
if (buffer == null)
|
||||
{
|
||||
buffer = ByteBuffer.allocate ((int) count);
|
||||
src.read (buffer);
|
||||
buffer.flip();
|
||||
}
|
||||
|
||||
return write (buffer, position);
|
||||
}
|
||||
|
||||
public long transferFrom (ReadableByteChannel src, long position,
|
||||
long count)
|
||||
throws IOException
|
||||
{
|
||||
if (position < 0
|
||||
|
@ -614,11 +676,21 @@ public final class FileChannelImpl extends FileChannel
|
|||
if ((mode & WRITE) == 0)
|
||||
throw new NonWritableChannelException ();
|
||||
|
||||
// XXX: count needs to be casted from long to int. Dataloss ?
|
||||
ByteBuffer buffer = ByteBuffer.allocate ((int) count);
|
||||
src.read (buffer);
|
||||
buffer.flip();
|
||||
return write (buffer, position);
|
||||
final int pageSize = 65536;
|
||||
long total = 0;
|
||||
|
||||
while (count > 0)
|
||||
{
|
||||
int transferred = smallTransferFrom (src, position,
|
||||
(int)Math.min (count, pageSize));
|
||||
if (transferred < 0)
|
||||
break;
|
||||
total += transferred;
|
||||
position += transferred;
|
||||
count -= transferred;
|
||||
}
|
||||
|
||||
return total;
|
||||
}
|
||||
|
||||
public FileLock tryLock (long position, long size, boolean shared)
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
/*
|
||||
Copyright (C) 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
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software
|
||||
in a product, an acknowledgment in the product documentation would be
|
||||
appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not be
|
||||
misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source distribution.
|
||||
|
||||
Jeroen Frijters
|
||||
jeroen@frijters.net
|
||||
|
||||
*/
|
||||
package ikvm.lang;
|
||||
|
||||
/** @deprecated */
|
||||
public final class ByteArrayHack
|
||||
{
|
||||
private ByteArrayHack() {}
|
||||
|
||||
public static byte[] cast(byte[] b)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
}
|
|
@ -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
|
||||
|
@ -178,7 +178,7 @@ public class Starter
|
|||
}
|
||||
else if(args[i] == "-version")
|
||||
{
|
||||
Console.WriteLine("CLR version: {0}", Environment.Version);
|
||||
Console.WriteLine("CLR version: {0} ({1} bit)", Environment.Version, IntPtr.Size * 8);
|
||||
foreach(Assembly asm in AppDomain.CurrentDomain.GetAssemblies())
|
||||
{
|
||||
Console.WriteLine("{0}: {1}", asm.GetName().Name, asm.GetName().Version);
|
||||
|
|
|
@ -207,7 +207,9 @@ namespace IKVM.Runtime
|
|||
public static object DynamicCast(object obj, RuntimeTypeHandle type, string clazz)
|
||||
{
|
||||
Profiler.Count("DynamicCast");
|
||||
if(!DynamicInstanceOf(obj, type, clazz))
|
||||
// NOTE it's important that we don't try to load the class if obj == null
|
||||
// (to be compatible with Sun)
|
||||
if(obj != null && !DynamicInstanceOf(obj, type, clazz))
|
||||
{
|
||||
throw JavaException.ClassCastException(ClassLoaderWrapper.GetWrapperFromType(obj.GetType()).Name);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче