public void IntegrityTest() { for (int i = 1; i <= (int)SpecialType.Count; i++) { string name = SpecialTypes.GetMetadataName((SpecialType)i); Assert.Equal((SpecialType)i, SpecialTypes.GetTypeFromMetadataName(name)); } for (int i = 0; i <= (int)SpecialType.Count; i++) { Cci.PrimitiveTypeCode code = SpecialTypes.GetTypeCode((SpecialType)i); if (code != Cci.PrimitiveTypeCode.NotPrimitive) { Assert.Equal((SpecialType)i, SpecialTypes.GetTypeFromMetadataName(code)); } } for (int i = 0; i <= (int)Cci.PrimitiveTypeCode.Invalid; i++) { SpecialType id = SpecialTypes.GetTypeFromMetadataName((Cci.PrimitiveTypeCode)i); if (id != SpecialType.None) { Assert.Equal((Cci.PrimitiveTypeCode)i, SpecialTypes.GetTypeCode(id)); } } Assert.Equal(SpecialType.System_Boolean, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.Boolean)); Assert.Equal(SpecialType.System_Char, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.Char)); Assert.Equal(SpecialType.System_Void, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.Void)); Assert.Equal(SpecialType.System_String, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.String)); Assert.Equal(SpecialType.System_Int64, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.Int64)); Assert.Equal(SpecialType.System_Int32, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.Int32)); Assert.Equal(SpecialType.System_Int16, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.Int16)); Assert.Equal(SpecialType.System_SByte, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.Int8)); Assert.Equal(SpecialType.System_UInt64, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.UInt64)); Assert.Equal(SpecialType.System_UInt32, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.UInt32)); Assert.Equal(SpecialType.System_UInt16, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.UInt16)); Assert.Equal(SpecialType.System_Byte, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.UInt8)); Assert.Equal(SpecialType.System_Single, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.Float32)); Assert.Equal(SpecialType.System_Double, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.Float64)); Assert.Equal(SpecialType.System_IntPtr, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.IntPtr)); Assert.Equal(SpecialType.System_UIntPtr, SpecialTypes.GetTypeFromMetadataName(Cci.PrimitiveTypeCode.UIntPtr)); }
/// <summary> /// Get symbol for predefined type from Cor Library used by this assembly. /// </summary> /// <param name="type"></param> /// <returns></returns> internal NamedTypeSymbol GetPrimitiveType(Microsoft.Cci.PrimitiveTypeCode type) { return(GetSpecialType(SpecialTypes.GetTypeFromMetadataName(type))); }
/// <summary> /// Get symbol for predefined type from Cor Library used by this assembly. /// </summary> /// <param name="type"></param> /// <returns></returns> internal NamedTypeSymbol GetPrimitiveType(StarkPlatform.Cci.PrimitiveTypeCode type) { return(GetSpecialType(SpecialTypes.GetTypeFromMetadataName(type))); }