Пример #1
0
        public static TypeParameter ReadTypeParameter(BinaryReader reader, INameDecoder nameTable, IDomObjectTable objectTable)
        {
            string        name = ReadString(reader, nameTable);
            TypeParameter tp   = new TypeParameter(name);

            // Flags
            tp.TypeParameterModifier = (TypeParameterModifier)reader.ReadByte();

            // Variance

            tp.Variance = (TypeParameterVariance)reader.ReadByte();

            // Constraints

            uint count = ReadUInt(reader, 1000);

            while (count-- > 0)
            {
                tp.AddConstraint(ReadReturnType(reader, nameTable, objectTable));
            }

            // Attributes

            count = ReadUInt(reader, 1000);
            while (count-- > 0)
            {
                tp.AddAttribute(ReadAttribute(reader, nameTable, objectTable));
            }

            return(tp);
        }
Пример #2
0
        public static TypeParameter ReadTypeParameter(BinaryReader reader, INameDecoder nameTable)
        {
            string        name = ReadString(reader, nameTable);
            TypeParameter tp   = new TypeParameter(name);

            // Flags

            byte f = reader.ReadByte();

            if ((f & 1) != 0)
            {
                tp.ClassRequired = true;
            }
            if ((f & 2) != 0)
            {
                tp.ValueTypeRequired = true;
            }
            if ((f & 4) != 0)
            {
                tp.ConstructorRequired = true;
            }

            // Variance

            tp.Variance = (TypeParameterVariance)reader.ReadByte();

            // Constraints

            uint count = ReadUInt(reader, 1000);

            while (count-- > 0)
            {
                tp.AddConstraint(ReadReturnType(reader, nameTable));
            }

            // Attributes

            count = ReadUInt(reader, 1000);
            while (count-- > 0)
            {
                tp.AddAttribute(ReadAttribute(reader, nameTable));
            }

            return(tp);
        }
Пример #3
0
		public static TypeParameter ReadTypeParameter (BinaryReader reader, INameDecoder nameTable, IDomObjectTable objectTable)
		{
			string name = ReadString (reader, nameTable);
			TypeParameter tp = new TypeParameter (name);
			
			// Flags
			tp.TypeParameterModifier = (TypeParameterModifier)reader.ReadByte ();
			
			// Variance 

			tp.Variance = (TypeParameterVariance)reader.ReadByte ();
			
			// Constraints
			
			uint count = ReadUInt (reader, 1000);
			while (count-- > 0)
				tp.AddConstraint (ReadReturnType (reader, nameTable, objectTable));

			// Attributes
			
			count = ReadUInt (reader, 1000);
			while (count-- > 0)
				tp.AddAttribute (ReadAttribute (reader, nameTable, objectTable));

			return tp;
		}
		public static TypeParameter ReadTypeParameter (BinaryReader reader, INameDecoder nameTable)
		{
			string name = ReadString (reader, nameTable);
			TypeParameter tp = new TypeParameter (name);
			
			// Flags
			
			byte f = reader.ReadByte ();
			if ((f & 1) != 0)
				tp.ClassRequired = true;
			if ((f & 2) != 0)
				tp.ValueTypeRequired = true;
			if ((f & 4) != 0)
				tp.ConstructorRequired = true;

			// Variance 

			tp.Variance = (TypeParameterVariance)reader.ReadByte ();

			// Constraints
			
			uint count = ReadUInt (reader, 1000);
			while (count-- > 0)
				tp.AddConstraint (ReadReturnType (reader, nameTable));

			// Attributes
			
			count = ReadUInt (reader, 1000);
			while (count-- > 0)
				tp.AddAttribute (ReadAttribute (reader, nameTable));

			return tp;
		}