X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FMicrosoft.VisualBasic%2FMicrosoft.VisualBasic%2FFileSystem.cs;h=ced3cc1091150e25f02621c89913077eacac48e9;hb=b0eff411fcc55fa6a7bbc5ee97bb592fe3204309;hp=bb47a98d73fed63deaed9bb5b119c5379556d190;hpb=73e673d6a19d1725c7fed6ee8c4a2bd418d79150;p=mono.git diff --git a/mcs/class/Microsoft.VisualBasic/Microsoft.VisualBasic/FileSystem.cs b/mcs/class/Microsoft.VisualBasic/Microsoft.VisualBasic/FileSystem.cs index bb47a98d73f..ced3cc10911 100644 --- a/mcs/class/Microsoft.VisualBasic/Microsoft.VisualBasic/FileSystem.cs +++ b/mcs/class/Microsoft.VisualBasic/Microsoft.VisualBasic/FileSystem.cs @@ -28,6 +28,7 @@ using System.Text; using System.Collections; using System.Globalization; using Microsoft.VisualBasic; +using System.Runtime.InteropServices; using Microsoft.VisualBasic.CompilerServices; /** @@ -59,8 +60,6 @@ namespace Microsoft.VisualBasic public static void Reset() { - Object value; - ICollection s = _openFilesMap.Keys; int [] iArr = new int[s.Count]; @@ -122,12 +121,9 @@ namespace Microsoft.VisualBasic int fileNumber, String fileName, OpenMode mode, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] OpenAccess access, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] OpenShare share, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] int recordLength) + [Optional, __DefaultArgumentValue((int)(-1))] OpenAccess access, + [Optional, __DefaultArgumentValue((int)(-1))] OpenShare share, + [Optional, __DefaultArgumentValue(-1)] int recordLength) { if (!isFileNumberFree(fileNumber)) @@ -163,8 +159,7 @@ namespace Microsoft.VisualBasic public static void FilePut(int fileNumber, bool value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); VBFile vbFile = getVBFile(fileNumber); @@ -174,8 +169,7 @@ namespace Microsoft.VisualBasic public static void FilePut(int fileNumber, byte value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); VBFile vbFile = getVBFile(fileNumber); @@ -184,8 +178,7 @@ namespace Microsoft.VisualBasic public static void FilePut(int fileNumber, short value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); VBFile vbFile = getVBFile(fileNumber); @@ -195,8 +188,7 @@ namespace Microsoft.VisualBasic public static void FilePut(int fileNumber, char value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); VBFile vbFile = getVBFile(fileNumber); @@ -205,8 +197,7 @@ namespace Microsoft.VisualBasic public static void FilePut(int fileNumber, int value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); VBFile vbFile = getVBFile(fileNumber); @@ -215,8 +206,7 @@ namespace Microsoft.VisualBasic public static void FilePut(int fileNumber, long value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); VBFile vbFile = getVBFile(fileNumber); @@ -226,8 +216,7 @@ namespace Microsoft.VisualBasic public static void FilePut(int fileNumber, float value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); VBFile vbFile = getVBFile(fileNumber); @@ -236,8 +225,7 @@ namespace Microsoft.VisualBasic public static void FilePut(int fileNumber, double value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); VBFile vbFile = getVBFile(fileNumber); @@ -246,10 +234,8 @@ namespace Microsoft.VisualBasic public static void FilePut(int fileNumber, String value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(false)] bool stringIsFixedLength) + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber, + [Optional, __DefaultArgumentValue(false)] bool stringIsFixedLength) { checkRecordNumber(recordNumber,true); VBFile vbFile = getVBFile(fileNumber); @@ -258,25 +244,13 @@ namespace Microsoft.VisualBasic public static void FilePut(int fileNumber, DateTime value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); VBFile vbFile = getVBFile(fileNumber); vbFile.put(value,recordNumber); } - public static void FileGet(int fileNumber, - ref bool value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) - - { - checkRecordNumber(recordNumber,false); - VBFile vbFile = getVBFile(fileNumber); - vbFile.get(out value,recordNumber); - } - private static void checkRecordNumber(long recordNumber,bool throwArgExc) { if ((recordNumber < 1) && (recordNumber != -1)) @@ -327,10 +301,20 @@ namespace Microsoft.VisualBasic } public static void FileGet( - int fileNumber, - ref byte value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + int fileNumber, + ref byte value, + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) + + { + checkRecordNumber(recordNumber,false); + VBFile vbFile = getVBFile(fileNumber); + vbFile.get(out value,recordNumber); + } + + public static void FileGet( + int fileNumber, + ref bool value, + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); @@ -339,10 +323,9 @@ namespace Microsoft.VisualBasic } public static void FileGet( - int fileNumber, - ref short value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + int fileNumber, + ref short value, + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); @@ -351,10 +334,9 @@ namespace Microsoft.VisualBasic } public static void FileGet( - int fileNumber, - ref char value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + int fileNumber, + ref char value, + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { @@ -364,40 +346,40 @@ namespace Microsoft.VisualBasic } - public static void FileGet(int fileNumber, - ref int value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + public static void FileGet( + int fileNumber, + ref int value, + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); VBFile vbFile = getVBFile(fileNumber); vbFile.get(out value,recordNumber); } - public static void FileGet(int fileNumber, - ref long value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + public static void FileGet( + int fileNumber, + ref long value, + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); VBFile vbFile = getVBFile(fileNumber); vbFile.get(out value,recordNumber); } - public static void FileGet(int fileNumber, - ref float value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + public static void FileGet( + int fileNumber, + ref float value, + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); VBFile vbFile = getVBFile(fileNumber); vbFile.get(out value,recordNumber); } - public static void FileGet(int fileNumber, - ref double value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + public static void FileGet( + int fileNumber, + ref double value, + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); @@ -405,10 +387,10 @@ namespace Microsoft.VisualBasic vbFile.get(out value,recordNumber); } - public static void FileGet(int fileNumber, - ref Decimal value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + public static void FileGet( + int fileNumber, + ref Decimal value, + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,false); @@ -416,26 +398,47 @@ namespace Microsoft.VisualBasic vbFile.get(out value,recordNumber); } - public static void FileGet(int fileNumber, - ref string value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(false)] bool bIgnored) + public static void FileGet( + int fileNumber, + ref string value, + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber, + [Optional, __DefaultArgumentValue(false)] bool stringIsFixedLength) { checkRecordNumber(recordNumber,true); VBFile vbFile = getVBFile(fileNumber); - vbFile.get(ref value,recordNumber,bIgnored); + vbFile.get(ref value,recordNumber,stringIsFixedLength); } - public static void FileGet(int fileNumber, - ref Object value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + public static void FileGet( + int fileNumber, + ref DateTime value, + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) + { - checkRecordNumber(recordNumber,false); + checkRecordNumber(recordNumber,true); + VBFile vbFile = getVBFile(fileNumber); + vbFile.get(out value,recordNumber); + } + + [MonoTODO] + public static void FileGet( + int fileNumber, + ref ValueType value, + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) + { + throw new NotImplementedException(); + } + + public static void FileGet( + int fileNumber, + ref Array value, + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber, + [Optional, __DefaultArgumentValue(false)] bool arrayIsDynamic, + [Optional, __DefaultArgumentValue(false)] bool stringIsFixedLength) + { + checkRecordNumber(recordNumber,true); VBFile vbFile = getVBFile(fileNumber); - vbFile.get(ref value,recordNumber); + vbFile.get(ref value,recordNumber,arrayIsDynamic,stringIsFixedLength); } public static long Seek(int fileNumber) @@ -468,8 +471,6 @@ namespace Microsoft.VisualBasic VBFile vbFile = getVBFile(fileNumber); if (value != null) { - Type type = null; - if (value is bool) { bool tmp; vbFile.Input(out tmp); @@ -550,11 +551,12 @@ namespace Microsoft.VisualBasic vbFile.print(output); } - public static void PrintLine(int fileNumber) - { - VBFile vbFile = getVBFile(fileNumber); - vbFile.printLine(null); - } +// Seems not to exist in MS's 1.1 implementation as told by class status pages +// public static void PrintLine(int fileNumber) +// { +// VBFile vbFile = getVBFile(fileNumber); +// vbFile.printLine(null); +// } public static void PrintLine(int fileNumber, Object[] output) { @@ -741,14 +743,8 @@ namespace Microsoft.VisualBasic } - public static /*synchronized*/ String Dir(String pathName) - { - return Dir(pathName, 0); - } - public static /*synchronized*/ String Dir(String pathName, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(0)] + [Optional, __DefaultArgumentValue((int)0)] FileAttribute fileAttribute) { _fileIndex = 0; @@ -923,7 +919,6 @@ namespace Microsoft.VisualBasic public static bool EOF(int fileNumber) { - bool retVal = false; VBFile vbFile = getVBFile(fileNumber); return vbFile.isEndOfFile(); } @@ -975,12 +970,11 @@ namespace Microsoft.VisualBasic return Directory.GetCurrentDirectory(); } - public static void FileGetObject(int fileNumber, - ref object value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) - - + [MonoTODO("How to deal with Array types?")] + public static void FileGetObject( + int fileNumber, + ref object value, + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,true); VBFile vbFile = getVBFile(fileNumber); @@ -1052,43 +1046,9 @@ namespace Microsoft.VisualBasic throw new NotSupportedException(); } - public static void FileGet(int fileNumber, - ref DateTime value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) - - { - checkRecordNumber(recordNumber,true); - VBFile vbFile = getVBFile(fileNumber); - vbFile.get(out value,recordNumber); - } - - [MonoTODO] - public static void FileGet(int fileNumber, out ValueType value, long recordNumber) - { - throw new NotImplementedException(); - } - - public static void FileGet(int fileNumber, - ref Array value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(false)] bool arrayIsDynamic, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(false)] bool stringIsFixedLength) - - - { - checkRecordNumber(recordNumber,true); - VBFile vbFile = getVBFile(fileNumber); - vbFile.get(ref value,recordNumber,arrayIsDynamic,stringIsFixedLength); - } - public static void FilePutObject(int fileNumber, Object value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,true); @@ -1142,8 +1102,7 @@ namespace Microsoft.VisualBasic [System.ObsoleteAttribute(obsoleteMsg, false)] public static void FilePut(Object FileNumber, Object Value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] System.Object RecordNumber) + [Optional, __DefaultArgumentValue(-1)] System.Object RecordNumber) { throw new ArgumentException(Utils.GetResourceString("UseFilePutObject")); } @@ -1151,8 +1110,7 @@ namespace Microsoft.VisualBasic [MonoTODO] public static void FilePut(int FileNumber, ValueType Value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] System.Int64 RecordNumber) + [Optional, __DefaultArgumentValue((long)-1)] System.Int64 RecordNumber) { throw new NotImplementedException(); @@ -1160,12 +1118,9 @@ namespace Microsoft.VisualBasic public static void FilePut(int fileNumber, Array value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(false)] bool arrayIsDynamic, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(false)] bool stringIsFixedLength) + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber, + [Optional, __DefaultArgumentValue(false)] bool arrayIsDynamic, + [Optional, __DefaultArgumentValue(false)] bool stringIsFixedLength) { checkRecordNumber(recordNumber,true); VBFile vbFile = getVBFile(fileNumber); @@ -1174,9 +1129,7 @@ namespace Microsoft.VisualBasic public static void FilePut(int fileNumber, Decimal value, - [System.Runtime.InteropServices.Optional] - [System.ComponentModel.DefaultValue(-1)] long recordNumber) - + [Optional, __DefaultArgumentValue((long)-1)] long recordNumber) { checkRecordNumber(recordNumber,true); VBFile vbFile = getVBFile(fileNumber);