DmdTypeNameParser(ITypeDefResolver typeDefResolver, string typeFullName, IList <DmdType>?genericTypeArguments) { ownerModule = null; this.typeDefResolver = typeDefResolver; reader = new StringReader(typeFullName ?? string.Empty); this.genericTypeArguments = genericTypeArguments ?? Array.Empty <DmdType>(); recursionCounter = 0; }
DmdTypeNameParser(DmdModule ownerModule, string typeFullName, IList <DmdType> genericTypeArguments) { this.ownerModule = ownerModule; typeDefResolver = null; reader = new StringReader(typeFullName ?? string.Empty); this.genericTypeArguments = genericTypeArguments ?? Array.Empty <DmdType>(); recursionCounter = 0; }
public static DmdType?Parse(ITypeDefResolver typeDefResolver, string typeFullName, IList <DmdType>?genericTypeArguments) { try { return(ParseThrow(typeDefResolver, typeFullName, genericTypeArguments)); } catch (TypeNameParserException) { return(null); } }
public static DmdType?Parse(ITypeDefResolver typeDefResolver, string typeFullName) => Parse(typeDefResolver, typeFullName, null);
public static DmdType ParseThrow(ITypeDefResolver typeDefResolver, string typeFullName, IList <DmdType>?genericTypeArguments) { using (var parser = new DmdTypeNameParser(typeDefResolver, typeFullName, genericTypeArguments)) return(parser.ParseCore()); }