private bool GenArg() { SerializedTypeName enclosingTypeName = this.typeName; this.typeName = this.typeName.AddGenericArgument(); if (this.TokenIs(TypeNameTokens.OpenSqBracket)) { this.NextToken(); if (!this.EAQN()) return false; if (!this.TokenIs(TypeNameTokens.CloseSqBracket)) return false; this.NextToken(); } else if (!this.FullName()) return false; this.typeName = enclosingTypeName; return true; }
public static bool TryParse(string typeNameString, SerializedTypeName typeName) { var parser = new TypeNameParser(typeNameString, typeName); return parser.Start(); }
private SerializedTypeName AddGenericArgument() { SerializedTypeName genArg = new SerializedTypeName {isGenericArgument = true}; this.genericArguments.Add(genArg); return genArg; }
private TypeNameParser(string typeNameString, SerializedTypeName typeName) { if (typeNameString == null) typeNameString = string.Empty; this.currentToken = TypeNameTokens.Empty; this.nextToken = TypeNameTokens.Empty; this.typeName = typeName; this.typeNameString = typeNameString; this.currentItr = this.itr = 0; }
public static bool TryParse(string typeNameString, out SerializedTypeName typeName) { typeName = new SerializedTypeName(); return TypeNameParser.TryParse(typeNameString, typeName); }