static void AddTypeId(SigCreator creator, MethodDef method, int id)
 {
     if (method != null)
     {
         creator.AddId(method.DeclaringType, id);
     }
 }
        static SigCreator CreateSigCreator(CsvmInfo csvmInfo)
        {
            var creator = new SigCreator();

            creator.AddId(csvmInfo.LogicalOpShrUn, 1);
            creator.AddId(csvmInfo.LogicalOpShl, 2);
            creator.AddId(csvmInfo.LogicalOpShr, 3);
            creator.AddId(csvmInfo.LogicalOpAnd, 4);
            creator.AddId(csvmInfo.LogicalOpXor, 5);
            creator.AddId(csvmInfo.LogicalOpOr, 6);

            creator.AddId(csvmInfo.CompareLt, 7);
            creator.AddId(csvmInfo.CompareLte, 8);
            creator.AddId(csvmInfo.CompareGt, 9);
            creator.AddId(csvmInfo.CompareGte, 10);
            creator.AddId(csvmInfo.CompareEq, 11);
            creator.AddId(csvmInfo.CompareEqz, 12);

            creator.AddId(csvmInfo.ArithmeticSubOvfUn, 13);
            creator.AddId(csvmInfo.ArithmeticMulOvfUn, 14);
            creator.AddId(csvmInfo.ArithmeticRemUn, 15);
            creator.AddId(csvmInfo.ArithmeticRem, 16);
            creator.AddId(csvmInfo.ArithmeticDivUn, 17);
            creator.AddId(csvmInfo.ArithmeticDiv, 18);
            creator.AddId(csvmInfo.ArithmeticMul, 19);
            creator.AddId(csvmInfo.ArithmeticMulOvf, 20);
            creator.AddId(csvmInfo.ArithmeticSub, 21);
            creator.AddId(csvmInfo.ArithmeticSubOvf, 22);
            creator.AddId(csvmInfo.ArithmeticAddOvfUn, 23);
            creator.AddId(csvmInfo.ArithmeticAddOvf, 24);
            creator.AddId(csvmInfo.ArithmeticAdd, 25);

            creator.AddId(csvmInfo.UnaryNot, 26);
            creator.AddId(csvmInfo.UnaryNeg, 27);

            creator.AddId(csvmInfo.ArgsGet, 28);
            creator.AddId(csvmInfo.ArgsSet, 29);
            creator.AddId(csvmInfo.LocalsGet, 30);
            creator.AddId(csvmInfo.LocalsSet, 31);

            AddTypeId(creator, csvmInfo.LogicalOpShrUn, 32);
            AddTypeId(creator, csvmInfo.CompareLt, 33);
            AddTypeId(creator, csvmInfo.ArithmeticSubOvfUn, 34);
            AddTypeId(creator, csvmInfo.UnaryNot, 35);
            AddTypeId(creator, csvmInfo.ArgsGet, 36);

            return(creator);
        }
		static void AddTypeId(SigCreator creator, MethodDef method, int id) {
			if (method != null)
				creator.AddId(method.DeclaringType, id);
		}
		static SigCreator CreateSigCreator(CsvmInfo csvmInfo) {
			var creator = new SigCreator();

			creator.AddId(csvmInfo.LogicalOpShrUn, 1);
			creator.AddId(csvmInfo.LogicalOpShl, 2);
			creator.AddId(csvmInfo.LogicalOpShr, 3);
			creator.AddId(csvmInfo.LogicalOpAnd, 4);
			creator.AddId(csvmInfo.LogicalOpXor, 5);
			creator.AddId(csvmInfo.LogicalOpOr, 6);

			creator.AddId(csvmInfo.CompareLt, 7);
			creator.AddId(csvmInfo.CompareLte, 8);
			creator.AddId(csvmInfo.CompareGt, 9);
			creator.AddId(csvmInfo.CompareGte, 10);
			creator.AddId(csvmInfo.CompareEq, 11);
			creator.AddId(csvmInfo.CompareEqz, 12);

			creator.AddId(csvmInfo.ArithmeticSubOvfUn, 13);
			creator.AddId(csvmInfo.ArithmeticMulOvfUn, 14);
			creator.AddId(csvmInfo.ArithmeticRemUn, 15);
			creator.AddId(csvmInfo.ArithmeticRem, 16);
			creator.AddId(csvmInfo.ArithmeticDivUn, 17);
			creator.AddId(csvmInfo.ArithmeticDiv, 18);
			creator.AddId(csvmInfo.ArithmeticMul, 19);
			creator.AddId(csvmInfo.ArithmeticMulOvf, 20);
			creator.AddId(csvmInfo.ArithmeticSub, 21);
			creator.AddId(csvmInfo.ArithmeticSubOvf, 22);
			creator.AddId(csvmInfo.ArithmeticAddOvfUn, 23);
			creator.AddId(csvmInfo.ArithmeticAddOvf, 24);
			creator.AddId(csvmInfo.ArithmeticAdd, 25);

			creator.AddId(csvmInfo.UnaryNot, 26);
			creator.AddId(csvmInfo.UnaryNeg, 27);

			creator.AddId(csvmInfo.ArgsGet, 28);
			creator.AddId(csvmInfo.ArgsSet, 29);
			creator.AddId(csvmInfo.LocalsGet, 30);
			creator.AddId(csvmInfo.LocalsSet, 31);

			AddTypeId(creator, csvmInfo.LogicalOpShrUn, 32);
			AddTypeId(creator, csvmInfo.CompareLt, 33);
			AddTypeId(creator, csvmInfo.ArithmeticSubOvfUn, 34);
			AddTypeId(creator, csvmInfo.UnaryNot, 35);
			AddTypeId(creator, csvmInfo.ArgsGet, 36);

			return creator;
		}