Esempio n. 1
0
 private string[] ParseNestedNames()
 {
     string[] result = null;
     while (this.TryParse('+'))
     {
         TypeParser.Add <string>(ref result, this.ParsePart());
     }
     return(result);
 }
Esempio n. 2
0
 private int[] ParseSpecs()
 {
     int[] result = null;
     while (this.position < this.length)
     {
         char c = this.fullname[this.position];
         if (c != '&')
         {
             if (c != '*')
             {
                 if (c != '[')
                 {
                     return(result);
                 }
                 this.position++;
                 char c2 = this.fullname[this.position];
                 if (c2 != '*')
                 {
                     if (c2 == ']')
                     {
                         this.position++;
                         TypeParser.Add <int>(ref result, -3);
                     }
                     else
                     {
                         int num = 1;
                         while (this.TryParse(','))
                         {
                             num++;
                         }
                         TypeParser.Add <int>(ref result, num);
                         this.TryParse(']');
                     }
                 }
                 else
                 {
                     this.position++;
                     TypeParser.Add <int>(ref result, 1);
                 }
             }
             else
             {
                 this.position++;
                 TypeParser.Add <int>(ref result, -1);
             }
         }
         else
         {
             this.position++;
             TypeParser.Add <int>(ref result, -2);
         }
     }
     return(result);
 }
Esempio n. 3
0
 private TypeParser.Type[] ParseGenericArguments(int arity)
 {
     TypeParser.Type[] result = null;
     if (this.position == this.length || this.fullname[this.position] != '[')
     {
         return(result);
     }
     this.TryParse('[');
     for (int i = 0; i < arity; i++)
     {
         bool flag = this.TryParse('[');
         TypeParser.Add <TypeParser.Type>(ref result, this.ParseType(flag));
         if (flag)
         {
             this.TryParse(']');
         }
         this.TryParse(',');
         this.TryParseWhiteSpace();
     }
     this.TryParse(']');
     return(result);
 }