1 // ==++== 2 // 3 // Copyright (c) Microsoft Corporation. All rights reserved. 4 // 5 // ==--== 6 /*============================================================ 7 ** 8 ** Class: ParseNumbers 9 ** 10 ** 11 ** Purpose: Methods for Parsing numbers and Strings. 12 ** All methods are implemented in native. 13 ** 14 ** 15 ===========================================================*/ 16 namespace System { 17 18 //This class contains only static members and does not need to be serializable. 19 using System; 20 using System.Runtime.CompilerServices; 21 using System.Runtime.Versioning; 22 23 internal static class ParseNumbers { 24 internal const int PrintAsI1=0x40; 25 internal const int PrintAsI2=0x80; 26 internal const int PrintAsI4=0x100; 27 internal const int TreatAsUnsigned=0x200; 28 internal const int TreatAsI1=0x400; 29 internal const int TreatAsI2=0x800; 30 internal const int IsTight=0x1000; 31 internal const int NoSpace=0x2000; 32 33 // 34 // 35 // NATIVE METHODS 36 // For comments on these methods please see $\src\vm\COMUtilNative.cpp 37 // 38 [System.Security.SecuritySafeCritical] // auto-generated StringToLong(System.String s, int radix, int flags)39 public unsafe static long StringToLong(System.String s, int radix, int flags) { 40 return StringToLong(s,radix,flags, null); 41 } 42 [System.Security.SecurityCritical] // auto-generated 43 [ResourceExposure(ResourceScope.None)] 44 [MethodImplAttribute(MethodImplOptions.InternalCall)] StringToLong(System.String s, int radix, int flags, int* currPos)45 public unsafe extern static long StringToLong(System.String s, int radix, int flags, int* currPos); 46 47 [System.Security.SecuritySafeCritical] // auto-generated StringToLong(System.String s, int radix, int flags, ref int currPos)48 public unsafe static long StringToLong(System.String s, int radix, int flags, ref int currPos) { 49 fixed(int * ppos = &currPos) { 50 return StringToLong( s, radix, flags, ppos); 51 } 52 } 53 54 [System.Security.SecuritySafeCritical] // auto-generated StringToInt(System.String s, int radix, int flags)55 public unsafe static int StringToInt(System.String s, int radix, int flags) { 56 return StringToInt(s,radix,flags, null); 57 } 58 [System.Security.SecurityCritical] // auto-generated 59 [ResourceExposure(ResourceScope.None)] 60 [MethodImplAttribute(MethodImplOptions.InternalCall)] StringToInt(System.String s, int radix, int flags, int* currPos)61 public unsafe extern static int StringToInt(System.String s, int radix, int flags, int* currPos); 62 63 [System.Security.SecuritySafeCritical] // auto-generated StringToInt(System.String s, int radix, int flags, ref int currPos)64 public unsafe static int StringToInt(System.String s, int radix, int flags, ref int currPos) { 65 fixed(int * ppos = &currPos) { 66 return StringToInt( s, radix, flags, ppos); 67 } 68 } 69 70 [System.Security.SecurityCritical] // auto-generated 71 [ResourceExposure(ResourceScope.None)] 72 [MethodImplAttribute(MethodImplOptions.InternalCall)] IntToString(int l, int radix, int width, char paddingChar, int flags)73 public extern static String IntToString(int l, int radix, int width, char paddingChar, int flags); 74 75 [System.Security.SecurityCritical] // auto-generated 76 [ResourceExposure(ResourceScope.None)] 77 [MethodImplAttribute(MethodImplOptions.InternalCall)] LongToString(long l, int radix, int width, char paddingChar, int flags)78 public extern static String LongToString(long l, int radix, int width, char paddingChar, int flags); 79 } 80 } 81