示例#1
0
        private static void TryAddArity(string name, ref int arity)
        {
            int num;

            if (!TypeParser.TryGetArity(name, out num))
            {
                return;
            }
            arity += num;
        }
示例#2
0
        private static void AdjustGenericParameters(TypeReference type)
        {
            int num;

            if (!TypeParser.TryGetArity(type.Name, out num))
            {
                return;
            }
            for (int i = 0; i < num; i++)
            {
                type.GenericParameters.Add(new GenericParameter(type));
            }
        }
示例#3
0
 private TypeParser.Type ParseType(bool fq_name)
 {
     TypeParser.Type type = new TypeParser.Type();
     type.type_fullname = this.ParsePart();
     type.nested_names  = this.ParseNestedNames();
     if (TypeParser.TryGetArity(type))
     {
         type.generic_arguments = this.ParseGenericArguments(type.arity);
     }
     type.specs = this.ParseSpecs();
     if (fq_name)
     {
         type.assembly = this.ParseAssemblyName();
     }
     return(type);
 }