static EncoderTraitsChoice()
            {
                TypeParam = Util.MaxChoice(
                    BitEncoders.MegaloScriptVarReferenceType as IEnumBitEncoder <uint>,
                    BitEncoders.MegaloScriptValueIndexTarget as IEnumBitEncoder <uint>,
                    x => x.BitCountTrait);
                TypeParam = Util.MaxChoice(
                    TypeParam,
                    BitEncoders.MegaloScriptVariableType as IEnumBitEncoder <uint>,
                    x => x.BitCountTrait);

                TypeTraits = Util.MaxChoice(
                    BitEncoders.MegaloScriptValueIndexTraits as IEnumBitEncoder <uint>,
                    BitEncoders.MegaloScriptValueEnumTraits as IEnumBitEncoder <uint>,
                    x => x.BitCountTrait);
                TypeTraits = Util.MaxChoice(
                    TypeTraits,
                    BitEncoders.MegaloScriptVariableSet as IEnumBitEncoder <uint>,
                    x => x.BitCountTrait);
            }
示例#2
0
        public static BitFieldTraits For <TUInt>(IEnumBitEncoder <TUInt> enumEncoder, BitFieldTraits prev)
        {
            Contract.Requires(enumEncoder != null);

            return(new BitFieldTraits(enumEncoder.BitCountTrait, prev));
        }