AsmResolver.Net.TypeSystem.TypeSystem C# (CSharp) Method

TypeSystem() public method

public TypeSystem ( MetadataHeader header, bool isMsCorLib ) : System
header MetadataHeader
isMsCorLib bool
return System
        public TypeSystem(MetadataHeader header, bool isMsCorLib)
        {
            _header = header;
            _isMsCorLib = isMsCorLib;

            if (!isMsCorLib)
            {
                MsCorLibReference = header.GetStream<TableStream>().GetTable<AssemblyReference>().FirstOrDefault(x => x.Name == "mscorlib");
                if (MsCorLibReference == null)
                {
                    MsCorLibReference = new AssemblyReference(new ReflectionAssemblyNameWrapper(typeof(object).Assembly.GetName()))
                    {
                        Header = header,
                        Culture = "neutral",
                        Version = new Version(header.VersionString[1] - 48, 0, 0, 0)
                    };
                }
            }

            Boolean = CreateSignature(ElementType.Boolean, "Boolean", true);
            SByte = CreateSignature(ElementType.I1, "SByte", true);
            Int16 = CreateSignature(ElementType.I2, "Int16", true);
            Int32 = CreateSignature(ElementType.I4, "Int32", true);
            Int64 = CreateSignature(ElementType.I8, "Int64", true);
            IntPtr = CreateSignature(ElementType.I, "IntPtr", true);
            Byte = CreateSignature(ElementType.U1, "Byte", true);
            UInt16 = CreateSignature(ElementType.U2, "UInt16", true);
            UInt32 = CreateSignature(ElementType.U4, "UInt32", true);
            UInt64 = CreateSignature(ElementType.U8, "UInt64", true);
            UIntPtr = CreateSignature(ElementType.U, "UIntPtr", true);
            Single = CreateSignature(ElementType.R4, "Single", true);
            Double = CreateSignature(ElementType.R8, "Double", true);
            Object = CreateSignature(ElementType.Object, "Object", false);
            Char = CreateSignature(ElementType.Char, "Char", true);
            String = CreateSignature(ElementType.String, "String", false);
            Type = CreateSignature(ElementType.Type, "Type", false);
            TypedReference = CreateSignature(ElementType.TypedByRef, "TypedReference", true);
            Void = CreateSignature(ElementType.Void, "Void", true);
        }