// Token: 0x0600016E RID: 366 RVA: 0x0000FDDC File Offset: 0x0000DFDC public static Class15 <Struct87> smethod_2(Type type_0) { Class15 <Struct87> @class = new Class15 <Struct87>(); Type type = type_0; for (;;) { if (type.IsArray) { @class.method_7(new Struct87 { int_0 = 2, int_1 = type.GetArrayRank() }); } else if (type.IsByRef) { @class.method_7(new Struct87 { int_0 = 1 }); } else { if (!type.IsPointer) { break; } @class.method_7(new Struct87 { int_0 = 0 }); } type = type.GetElementType(); } return(@class); }
// Token: 0x0600016F RID: 367 RVA: 0x0000FE70 File Offset: 0x0000E070 public static Class15 <Struct87> smethod_3(string string_0) { string text = string_0; Class15 <Struct87> @class = new Class15 <Struct87>(); for (;;) { if (text.EndsWith("&", StringComparison.Ordinal)) { @class.method_7(new Struct87 { int_0 = 1 }); text = text.Substring(0, text.Length - 1); } else if (text.EndsWith("*", StringComparison.Ordinal)) { @class.method_7(new Struct87 { int_0 = 0 }); text = text.Substring(0, text.Length - 1); } else if (text.EndsWith("[]", StringComparison.Ordinal)) { @class.method_7(new Struct87 { int_0 = 2, int_1 = 1 }); text = text.Substring(0, text.Length - 2); } else { if (!text.EndsWith(",]", StringComparison.Ordinal)) { return(@class); } int num = 1; int num2 = -1; for (int i = text.Length - 2; i >= 0; i--) { char c = text[i]; if (c != ',') { if (c != '[') { goto Block_5; } num2 = i; i = -1; } else { num++; } } if (num2 < 0) { goto IL_145; } text = text.Substring(0, num2); @class.method_7(new Struct87 { int_0 = 2, int_1 = num }); } } Block_5: throw new InvalidOperationException("VM-3012"); IL_145: throw new InvalidOperationException("VM-3014"); }