// src/coreclr/src/vm/typeparse.cpp // https://docs.microsoft.com/en-us/dotnet/framework/reflection-and-codedom/specifying-fully-qualified-type-names /// <summary> /// Parses a single fully assembly qualified name. /// </summary> /// <param name="module">The module containing the assembly qualified name.</param> /// <param name="canonicalName">The fully qualified assembly name of the type.</param> /// <returns>The parsed type.</returns> public static TypeSignature Parse(ModuleDefinition module, string canonicalName) { var lexer = new TypeNameLexer(new StringReader(canonicalName)); var parser = new TypeNameParser(module, lexer); return(parser.ParseTypeSpec()); }
private TypeNameParser(ModuleDefinition module, TypeNameLexer lexer) { _module = module ?? throw new ArgumentNullException(nameof(module)); _lexer = lexer ?? throw new ArgumentNullException(nameof(lexer)); }