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