122 references to MetadataHelpers
Microsoft.CodeAnalysis (56)
CodeGen\PrivateImplementationDetails.cs (1)
141$"{TypeNamePrefix}<{MetadataHelpers.MangleForTypeNameIfNeeded(moduleName)}>" : TypeNamePrefix;
CodeGen\StringTokenMap.cs (2)
41if (_heapSize > MetadataHelpers.UserStringHeapCapacity) 46_heapSize += MetadataHelpers.GetUserStringBlobSize(value);
CommandLine\CommandLineParser.cs (3)
318!MetadataHelpers.IsValidMetadataIdentifier(outputDirectory) || 319!MetadataHelpers.IsValidMetadataIdentifier(outputFileName)) 443!MetadataHelpers.IsValidAssemblyOrModuleName(outputFileName))
Compilation\Compilation.cs (1)
415MetadataHelpers.CheckAssemblyOrModuleName(this.AssemblyName, MessageProvider, MessageProvider.ERR_BadAssemblyName, diagnostics);
Emit\CommonPEModuleBuilder.cs (1)
776=> names?.Add(MetadataHelpers.BuildQualifiedName(type.NamespaceName, Cci.MetadataWriter.GetMetadataName(type, generation: 0)));
Emit\EditAndContinue\DeltaMetadataWriter.cs (1)
147userStringHeapStartOffset: Math.Min(MetadataHelpers.UserStringHeapCapacity, previousGeneration.UserStringStreamLength),
Emit\EmitOptions.cs (1)
356MetadataHelpers.CheckAssemblyOrModuleName(OutputNameOverride, messageProvider, messageProvider.ERR_InvalidOutputName, diagnostics);
Emit\NoPia\EmbeddedTypesManager.cs (1)
140if (namesOfTopLevelTypes.Contains(MetadataHelpers.BuildQualifiedName(def.NamespaceName, def.Name)))
MetadataReader\MetadataDecoder.cs (2)
514Debug.Assert(MetadataHelpers.IsValidMetadataIdentifier(name)); 637Debug.Assert(MetadataHelpers.IsValidMetadataIdentifier(name));
MetadataReader\MetadataHelpers.cs (1)
1059fullyQualified[namespaceName.Length] == MetadataHelpers.DotDelimiter &&
MetadataReader\MetadataReaderExtensions.cs (4)
104if (!MetadataHelpers.IsValidMetadataIdentifier(nameStr)) 110if (cultureName != null && !MetadataHelpers.IsValidMetadataIdentifier(cultureName)) 123if (!MetadataHelpers.IsValidPublicKey(publicKeyOrToken)) 144if (hasPublicKey && !MetadataHelpers.IsValidPublicKey(publicKeyOrToken))
MetadataReader\MetadataTypeName.cs (12)
98forcedArity == MetadataHelpers.InferTypeArityFromMetadataName(fullName), 127Debug.Assert(!typeName.Contains(MetadataHelpers.DotDelimiterString)); 130forcedArity == MetadataHelpers.InferTypeArityFromMetadataName(typeName), 154Debug.Assert(!typeName.Contains(MetadataHelpers.DotDelimiterString) || typeName.IndexOf(MetadataHelpers.MangledNameRegionStartChar) >= 0); 158forcedArity == MetadataHelpers.InferTypeArityFromMetadataName(typeName), 190_fullName = MetadataHelpers.BuildQualifiedName(_namespaceName, _typeName); 205_typeNameMemory = MetadataHelpers.SplitQualifiedName(_fullName, out _namespaceNameMemory); 225_typeNameMemory = MetadataHelpers.SplitQualifiedName(_fullName, out _namespaceNameMemory); 245_unmangledTypeNameMemory = MetadataHelpers.InferTypeArityAndUnmangleMetadataName(TypeNameMemory, out _inferredArity); 281_unmangledTypeNameMemory = MetadataHelpers.InferTypeArityAndUnmangleMetadataName(TypeNameMemory, out _inferredArity); 334_namespaceSegmentsMemory = MetadataHelpers.SplitQualifiedName(NamespaceNameMemory);
MetadataReader\MetadataTypeName.Key.cs (3)
81return MetadataHelpers.SplitNameEqualsFullyQualifiedName(other._namespaceOrFullyQualifiedName, other._typeName, _namespaceOrFullyQualifiedName); 86return MetadataHelpers.SplitNameEqualsFullyQualifiedName(_namespaceOrFullyQualifiedName, _typeName, other._namespaceOrFullyQualifiedName); 110hashCode = Hash.CombineFNVHash(hashCode, MetadataHelpers.DotDelimiter);
MetadataReader\PEModule.cs (4)
394if (!MetadataHelpers.IsValidMetadataFileName(moduleName)) 503return MetadataHelpers.BuildQualifiedName(attributeTypeNamespaceName, attributeTypeName); 531Debug.Assert(name.Length == 0 || MetadataHelpers.IsValidMetadataIdentifier(name)); // Obfuscated assemblies can have types with empty names. 2884Debug.Assert(MetadataHelpers.IsValidMetadataIdentifier(name));
MetadataReader\TypeNameDecoder.cs (6)
55MetadataHelpers.AssemblyQualifiedTypeName fullName = MetadataHelpers.DecodeTypeName(s); 115internal TypeSymbol GetTypeSymbol(MetadataHelpers.AssemblyQualifiedTypeName fullName, out bool refersToNoPiaLocalType) 157Debug.Assert(MetadataHelpers.IsValidMetadataIdentifier(fullName.TopLevelType)); 173Debug.Assert(MetadataHelpers.IsValidMetadataIdentifier(fullName.NestedTypes[i])); 221private ImmutableArray<KeyValuePair<TypeSymbol, ImmutableArray<ModifierInfo<TypeSymbol>>>> ResolveTypeArguments(MetadataHelpers.AssemblyQualifiedTypeName[] arguments, out ImmutableArray<bool> refersToNoPiaLocalType)
MetadataReference\AssemblyIdentity.cs (3)
129if (!MetadataHelpers.IsValidPublicKey(publicKeyOrToken)) 167Debug.Assert((hasPublicKey && MetadataHelpers.IsValidPublicKey(publicKeyOrToken)) || (!hasPublicKey && (publicKeyOrToken.IsDefaultOrEmpty || publicKeyOrToken.Length == PublicKeyTokenSize))); 189Debug.Assert((hasPublicKey && MetadataHelpers.IsValidPublicKey(publicKeyOrToken)) || (!hasPublicKey && (publicKeyOrToken.IsDefaultOrEmpty || publicKeyOrToken.Length == PublicKeyTokenSize)));
MetadataReference\AssemblyIdentity.DisplayName.cs (1)
669!MetadataHelpers.IsValidPublicKey(key))
PEWriter\MetadataWriter.cs (2)
884result |= MetadataHelpers.GenericParameterAttributesAllowByRefLike; 915? MetadataHelpers.ComposeAritySuffixedMetadataName(nameWithGeneration, namedType.GenericParameterCount, fileIdentifier)
PEWriter\TypeNameSerializer.cs (1)
231mangledName.Append(MetadataHelpers.GetAritySuffix(namedType.GenericParameterCount));
ResourceDescription.cs (2)
74if (!MetadataHelpers.IsValidMetadataIdentifier(resourceName)) 86if (!MetadataHelpers.IsValidMetadataFileName(fileName))
StrongName\StrongNameKeys.cs (2)
92if (MetadataHelpers.IsValidPublicKey(publicKey)) 144if (MetadataHelpers.IsValidPublicKey(keyFileContent))
Symbols\Attributes\MarshalAsAttributeDecoder.cs (2)
132if (!MetadataHelpers.IsValidUnicodeString(typeName)) 148if (!MetadataHelpers.IsValidUnicodeString(cookie))
Microsoft.CodeAnalysis.CSharp (26)
Binder\Binder_Symbols.cs (2)
2765var metadataName = MetadataHelpers.ComposeAritySuffixedMetadataName(name, arity, associatedFileIdentifier: null); 2766var fullMetadataName = MetadataHelpers.BuildQualifiedName(qualifierOpt?.ToDisplayString(SymbolDisplayFormat.QualifiedNameOnlyFormat), metadataName);
CommandLine\CSharpCommandLineParser.cs (1)
619else if (!MetadataHelpers.IsValidAssemblyOrModuleName(value))
CSharpCompilationOptions.cs (1)
687MetadataHelpers.CheckAssemblyOrModuleName(ModuleName, MessageProvider.Instance, (int)ErrorCode.ERR_BadModuleName, builder);
Emitter\EditAndContinue\PEDeltaAssemblyBuilder.cs (2)
147var name = MetadataHelpers.InferTypeArityAndUnmangleMetadataName(reader.GetString(def.Name), out _); 168var name = MetadataHelpers.InferTypeArityAndUnmangleMetadataName(reader.GetString(def.Name), out _);
Emitter\Model\PEModuleBuilder.cs (1)
689string fullEmittedName = MetadataHelpers.BuildQualifiedName(
SymbolDisplay\SymbolDisplayVisitor.Types.cs (1)
416MetadataHelpers.GetAritySuffix(symbol.Arity)));
Symbols\AnonymousTypes\AnonymousTypeManager.Templates.cs (2)
472MetadataHelpers.InferTypeArityAndUnmangleMetadataName(name, out _), 520moduleId = MetadataHelpers.MangleForTypeNameIfNeeded(moduleId);
Symbols\Metadata\PE\PENamedTypeSymbol.cs (3)
349_name = MetadataHelpers.UnmangleMetadataNameForArity(metadataName, arity); 385_corTypeId = SpecialTypes.GetTypeFromMetadataName(MetadataHelpers.BuildQualifiedName(emittedNamespaceName, metadataName)); 2522string emittedName = MetadataHelpers.BuildQualifiedName(missingType.NamespaceName, missingType.MetadataName);
Symbols\Metadata\PE\PENamespaceSymbol.cs (1)
226MetadataHelpers.GetInfoForImmediateNamespaceMembers(
Symbols\Metadata\PE\PETypeParameterSymbol.cs (1)
575return (_flags & MetadataHelpers.GenericParameterAttributesAllowByRefLike) != 0;
Symbols\MissingMetadataTypeSymbol.cs (3)
246var namespaces = MetadataHelpers.SplitQualifiedName(_namespaceName); 297string emittedName = MetadataHelpers.BuildQualifiedName(_namespaceName, MetadataName); 324new CSDiagnosticInfo(ErrorCode.ERR_PredefinedTypeNotFound, MetadataHelpers.BuildQualifiedName(_namespaceName, MetadataName)) :
Symbols\NamedTypeSymbol.cs (2)
499? MetadataHelpers.ComposeAritySuffixedMetadataName(Name, Arity, fileIdentifier) 1663ContainingNamespace.Name == MetadataHelpers.SystemString)
Symbols\Source\SourceAssemblySymbol.cs (1)
2841string fullEmittedName = MetadataHelpers.BuildQualifiedName(originalDefinition.ContainingSymbol.ToDisplayString(SymbolDisplayFormat.QualifiedNameOnlyFormat),
Symbols\Source\SourceMemberContainerSymbol.cs (1)
281emittedName = MetadataHelpers.BuildQualifiedName(emittedName, MetadataName);
Symbols\Source\SourceMethodSymbolWithAttributes.cs (2)
851if (!MetadataHelpers.IsValidMetadataIdentifier(moduleName)) 880if (!MetadataHelpers.IsValidMetadataIdentifier(importName))
Symbols\Synthesized\GeneratedNames.cs (1)
410name = MetadataHelpers.InferTypeArityAndUnmangleMetadataName(name, out var arity);
Symbols\TypeSymbolExtensions.cs (1)
550private static readonly string[] s_expressionsNamespaceName = { "Expressions", "Linq", MetadataHelpers.SystemString, "" };
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (1)
Emit\GeneratedNamesTests.cs (1)
36name = MetadataHelpers.InferTypeArityAndUnmangleMetadataName(name, out _);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
Extensions.cs (1)
158builder.Add(MetadataHelpers.SplitQualifiedName(part, out part));
Microsoft.CodeAnalysis.Scripting (1)
ScriptBuilder.cs (1)
188string entryPointTypeName = MetadataHelpers.BuildQualifiedName(entryPoint.ContainingNamespace.MetadataName, entryPoint.ContainingType.MetadataName);
Microsoft.CodeAnalysis.UnitTests (37)
MetadataReferences\MetadataHelpersTests.cs (37)
30Assert.False(MetadataHelpers.IsValidMetadataIdentifier(null)); 31Assert.False(MetadataHelpers.IsValidMetadataIdentifier("")); 32Assert.True(MetadataHelpers.IsValidMetadataIdentifier("x")); 33Assert.False(MetadataHelpers.IsValidMetadataIdentifier("\0")); 34Assert.False(MetadataHelpers.IsValidMetadataIdentifier("x\0")); 35Assert.False(MetadataHelpers.IsValidMetadataIdentifier("\0x")); 36Assert.False(MetadataHelpers.IsValidMetadataIdentifier("abc\0xyz\0uwq")); 37Assert.False(MetadataHelpers.IsValidMetadataIdentifier(lowSurrogate)); 38Assert.False(MetadataHelpers.IsValidMetadataIdentifier(highSurrogate)); 39Assert.True(MetadataHelpers.IsValidMetadataIdentifier(highSurrogate + lowSurrogate)); 40Assert.False(MetadataHelpers.IsValidMetadataIdentifier(lowSurrogate + highSurrogate)); 41Assert.False(MetadataHelpers.IsValidMetadataIdentifier(highSurrogate + "x" + lowSurrogate)); 42Assert.False(MetadataHelpers.IsValidMetadataIdentifier(lowSurrogate + "x" + highSurrogate)); 43Assert.False(MetadataHelpers.IsValidMetadataIdentifier(highSurrogate + "xxx")); 44Assert.False(MetadataHelpers.IsValidMetadataIdentifier(lowSurrogate + "xxx")); 45Assert.False(MetadataHelpers.IsValidMetadataIdentifier(lowSurrogate + "\0" + highSurrogate)); 46Assert.False(MetadataHelpers.IsValidMetadataIdentifier(highSurrogate + "\0" + lowSurrogate)); 106private static string[] GenerateTypeNamesToDecode(TypeNameConfig[] typeNameConfigs, out MetadataHelpers.AssemblyQualifiedTypeName[] expectedDecodeNames) 112expectedDecodeNames = new MetadataHelpers.AssemblyQualifiedTypeName[typeNameConfigs.Length]; 132MetadataHelpers.AssemblyQualifiedTypeName[] expectedTypeArguments; 220expectedDecodeNames[index] = new MetadataHelpers.AssemblyQualifiedTypeName(expectedTopLevelTypeName, expectedNestedTypes, expectedTypeArguments, expectedPointerCount, expectedArrayRanks, expectedAssemblyName); 230MetadataHelpers.AssemblyQualifiedTypeName decodedName, 234MetadataHelpers.AssemblyQualifiedTypeName[] expectedTypeArguments, 266MetadataHelpers.AssemblyQualifiedTypeName[] expectedTypeArguments = null, 270MetadataHelpers.AssemblyQualifiedTypeName decodedName = MetadataHelpers.DecodeTypeName(nameToDecode); 274private static void DecodeTypeNamesAndVerify(string[] namesToDecode, MetadataHelpers.AssemblyQualifiedTypeName[] expectedDecodedNames) 291MetadataHelpers.AssemblyQualifiedTypeName[] expectedDecodedNames; 332expectedTypeArguments: new[] { new MetadataHelpers.AssemblyQualifiedTypeName("W", null, null, 0, null, null) }, 339expectedTypeArguments: new[] { new MetadataHelpers.AssemblyQualifiedTypeName( 352expectedTypeArguments: new[] { new MetadataHelpers.AssemblyQualifiedTypeName( 359new MetadataHelpers.AssemblyQualifiedTypeName("W", null, null, 0, null, null) }, 394expectedTypeArguments: new[] { new MetadataHelpers.AssemblyQualifiedTypeName("T", null, null, 0, null, "Assembly") }, 443MetadataHelpers.GetInfoForImmediateNamespaceMembers( 483MetadataHelpers.GetInfoForImmediateNamespaceMembers( 495MetadataHelpers.GetInfoForImmediateNamespaceMembers( 515Assert.Equal(builder.Count, MetadataHelpers.GetUserStringBlobSize(str));