573 references to SourceHashAlgorithm
GenerateDocumentationAndConfigFiles (9)
src\Compilers\Core\Portable\EncodedStringText.cs (8)
99/// from <see cref="SourceText.From(Stream, Encoding, SourceHashAlgorithm, bool)"/> in two ways:
119SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
132SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
175SourceHashAlgorithm checksumAlgorithm,
275internal static SourceText Create(Stream stream, Lazy<Encoding> getEncoding, Encoding defaultEncoding, SourceHashAlgorithm checksumAlgorithm, bool canBeEmbedded)
278internal static SourceText Decode(Stream data, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected, bool canBeEmbedded)
Metrics (9)
src\Compilers\Core\Portable\EncodedStringText.cs (8)
99/// from <see cref="SourceText.From(Stream, Encoding, SourceHashAlgorithm, bool)"/> in two ways:
119SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
132SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
175SourceHashAlgorithm checksumAlgorithm,
275internal static SourceText Create(Stream stream, Lazy<Encoding> getEncoding, Encoding defaultEncoding, SourceHashAlgorithm checksumAlgorithm, bool canBeEmbedded)
278internal static SourceText Decode(Stream data, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected, bool canBeEmbedded)
Metrics.Legacy (9)
src\Compilers\Core\Portable\EncodedStringText.cs (8)
99/// from <see cref="SourceText.From(Stream, Encoding, SourceHashAlgorithm, bool)"/> in two ways:
119SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
132SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
175SourceHashAlgorithm checksumAlgorithm,
275internal static SourceText Create(Stream stream, Lazy<Encoding> getEncoding, Encoding defaultEncoding, SourceHashAlgorithm checksumAlgorithm, bool canBeEmbedded)
278internal static SourceText Decode(Stream data, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected, bool canBeEmbedded)
Microsoft.CodeAnalysis (119)
EncodedStringText.cs (8)
99/// from <see cref="SourceText.From(Stream, Encoding, SourceHashAlgorithm, bool)"/> in two ways:
119SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
132SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
175SourceHashAlgorithm checksumAlgorithm,
275internal static SourceText Create(Stream stream, Lazy<Encoding> getEncoding, Encoding defaultEncoding, SourceHashAlgorithm checksumAlgorithm, bool canBeEmbedded)
278internal static SourceText Decode(Stream data, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected, bool canBeEmbedded)
SourceGeneration\GeneratorContexts.cs (3)
24private readonly SourceHashAlgorithm _checksumAlgorithm;
26internal GeneratorExecutionContext(Compilation compilation, ParseOptions parseOptions, ImmutableArray<AdditionalText> additionalTexts, AnalyzerConfigOptionsProvider optionsProvider, ISyntaxContextReceiver? syntaxReceiver, string sourceExtension, SourceHashAlgorithm checksumAlgorithm, CancellationToken cancellationToken = default)
85public void AddSource(string hintName, string source) => AddSource(hintName, SourceText.From(source, Encoding.UTF8, checksumAlgorithm: _checksumAlgorithm == SourceHashAlgorithm.None ? SourceHashAlgorithms.Default : _checksumAlgorithm));
Text\LargeText.cs (4)
33internal LargeText(ImmutableArray<char[]> chunks, Encoding? encodingOpt, ImmutableArray<byte> checksum, SourceHashAlgorithm checksumAlgorithm, ImmutableArray<byte> embeddedTextBlob)
50internal LargeText(ImmutableArray<char[]> chunks, Encoding? encodingOpt, SourceHashAlgorithm checksumAlgorithm)
55internal static SourceText Decode(Stream stream, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected, bool canBeEmbedded)
81internal static SourceText Decode(TextReader reader, int length, Encoding? encodingOpt, SourceHashAlgorithm checksumAlgorithm)
Text\SourceHashAlgorithms.cs (30)
16public const SourceHashAlgorithm Default = SourceHashAlgorithm.Sha256;
23public const SourceHashAlgorithm OpenDocumentChecksumAlgorithm = Default;
30public static bool IsSupportedAlgorithm(SourceHashAlgorithm algorithm)
33SourceHashAlgorithm.Sha1 => true,
34SourceHashAlgorithm.Sha256 => true,
35SourceHashAlgorithm.Sha384 => true,
36SourceHashAlgorithm.Sha512 => true,
40public static Guid GetAlgorithmGuid(SourceHashAlgorithm algorithm)
43SourceHashAlgorithm.Sha1 => s_guidSha1,
44SourceHashAlgorithm.Sha256 => s_guidSha256,
45SourceHashAlgorithm.Sha384 => s_guidSha384,
46SourceHashAlgorithm.Sha512 => s_guidSha512,
50public static SourceHashAlgorithm GetSourceHashAlgorithm(Guid guid)
51=> (guid == s_guidSha256) ? SourceHashAlgorithm.Sha256 :
52(guid == s_guidSha1) ? SourceHashAlgorithm.Sha1 :
53(guid == s_guidSha384) ? SourceHashAlgorithm.Sha384 :
54(guid == s_guidSha512) ? SourceHashAlgorithm.Sha512 :
55SourceHashAlgorithm.None;
57private static HashAlgorithm CreateInstance(SourceHashAlgorithm algorithm)
62SourceHashAlgorithm.Sha1 => SHA1.Create(),
63SourceHashAlgorithm.Sha256 => SHA256.Create(),
64SourceHashAlgorithm.Sha384 => SHA384.Create(),
65SourceHashAlgorithm.Sha512 => SHA512.Create(),
75public static bool TryParseAlgorithmName(string name, out SourceHashAlgorithm algorithm)
79algorithm = SourceHashAlgorithm.Sha1;
85algorithm = SourceHashAlgorithm.Sha256;
91algorithm = SourceHashAlgorithm.Sha384;
97algorithm = SourceHashAlgorithm.Sha512;
101algorithm = SourceHashAlgorithm.None;
Text\SourceText.cs (25)
36private readonly SourceHashAlgorithm _checksumAlgorithm;
50protected SourceText(ImmutableArray<byte> checksum = default, SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1, SourceTextContainer? container = null)
64internal SourceText(ImmutableArray<byte> checksum, SourceHashAlgorithm checksumAlgorithm, ImmutableArray<byte> embeddedTextBlob)
82internal static void ValidateChecksumAlgorithm(SourceHashAlgorithm checksumAlgorithm)
105public static SourceText From(string text, Encoding? encoding = null, SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1)
135SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1)
154public static SourceText From(Stream stream, Encoding? encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected)
183SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
225public static SourceText From(byte[] buffer, int length, Encoding? encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected)
253SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
384public SourceHashAlgorithm ChecksumAlgorithm => _checksumAlgorithm;
424/// If this text was constructed via <see cref="From(byte[], int, Encoding, SourceHashAlgorithm, bool, bool)"/> or
425/// <see cref="From(Stream, Encoding, SourceHashAlgorithm, bool, bool)"/>, then the canBeEmbedded arg must have
685internal static ImmutableArray<byte> CalculateChecksum(byte[] buffer, int offset, int count, SourceHashAlgorithm algorithmId)
694internal static ImmutableArray<byte> CalculateChecksum(Stream stream, SourceHashAlgorithm algorithmId)
1325/// If <paramref name="checksumAlgorithm"/> is <see cref="SourceHashAlgorithm.None"/>, returns this instance without modification.
1328internal SourceText WithChecksumAlgorithmIfAny(SourceHashAlgorithm checksumAlgorithm)
1330if (checksumAlgorithm == SourceHashAlgorithm.None || checksumAlgorithm == ChecksumAlgorithm)
1340public SourceTextWithAlgorithm(SourceText underlying, SourceHashAlgorithm checksumAlgorithm) : base(checksumAlgorithm: checksumAlgorithm)
1342Debug.Assert(checksumAlgorithm != SourceHashAlgorithm.None);
Microsoft.CodeAnalysis.Analyzers (9)
src\Compilers\Core\Portable\EncodedStringText.cs (8)
99/// from <see cref="SourceText.From(Stream, Encoding, SourceHashAlgorithm, bool)"/> in two ways:
119SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
132SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
175SourceHashAlgorithm checksumAlgorithm,
275internal static SourceText Create(Stream stream, Lazy<Encoding> getEncoding, Encoding defaultEncoding, SourceHashAlgorithm checksumAlgorithm, bool canBeEmbedded)
278internal static SourceText Decode(Stream data, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected, bool canBeEmbedded)
Microsoft.CodeAnalysis.AnalyzerUtilities (9)
src\Compilers\Core\Portable\EncodedStringText.cs (8)
99/// from <see cref="SourceText.From(Stream, Encoding, SourceHashAlgorithm, bool)"/> in two ways:
119SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
132SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
175SourceHashAlgorithm checksumAlgorithm,
275internal static SourceText Create(Stream stream, Lazy<Encoding> getEncoding, Encoding defaultEncoding, SourceHashAlgorithm checksumAlgorithm, bool canBeEmbedded)
278internal static SourceText Decode(Stream data, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected, bool canBeEmbedded)
Microsoft.CodeAnalysis.BannedApiAnalyzers (9)
src\Compilers\Core\Portable\EncodedStringText.cs (8)
99/// from <see cref="SourceText.From(Stream, Encoding, SourceHashAlgorithm, bool)"/> in two ways:
119SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
132SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
175SourceHashAlgorithm checksumAlgorithm,
275internal static SourceText Create(Stream stream, Lazy<Encoding> getEncoding, Encoding defaultEncoding, SourceHashAlgorithm checksumAlgorithm, bool canBeEmbedded)
278internal static SourceText Decode(Stream data, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected, bool canBeEmbedded)
Microsoft.CodeAnalysis.CodeStyle (8)
src\Compilers\Core\Portable\EncodedStringText.cs (8)
99/// from <see cref="SourceText.From(Stream, Encoding, SourceHashAlgorithm, bool)"/> in two ways:
119SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
132SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
175SourceHashAlgorithm checksumAlgorithm,
275internal static SourceText Create(Stream stream, Lazy<Encoding> getEncoding, Encoding defaultEncoding, SourceHashAlgorithm checksumAlgorithm, bool canBeEmbedded)
278internal static SourceText Decode(Stream data, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected, bool canBeEmbedded)
Microsoft.CodeAnalysis.CSharp (14)
Syntax\CSharpSyntaxTree.cs (5)
347checksumAlgorithm: SourceHashAlgorithm.Sha1,
361SourceHashAlgorithm checksumAlgorithm)
401checksumAlgorithm: SourceHashAlgorithm.Sha1,
459return ParseText(SourceText.From(text, encoding, SourceHashAlgorithm.Sha1), options, path, diagnosticOptions, isGeneratedCode, cancellationToken);
920=> ParseText(SourceText.From(text, encoding, SourceHashAlgorithm.Sha1), options, path, diagnosticOptions, isGeneratedCode: null, cancellationToken);
Syntax\SyntaxFactory.cs (2)
1577=> CSharpSyntaxTree.Create((CSharpSyntaxNode)root, (CSharpParseOptions?)options ?? CSharpParseOptions.Default, path, encoding, SourceHashAlgorithm.Sha1);
1591return CSharpSyntaxTree.ParseText(SourceText.From(text, encoding, SourceHashAlgorithm.Sha1), (CSharpParseOptions?)options, path, diagnosticOptions: null, isGeneratedCode: null, cancellationToken);
Microsoft.CodeAnalysis.CSharp.CommandLine.UnitTests (7)
CommandLineTests.cs (7)
5829Assert.Equal(SourceHashAlgorithm.Sha1, parsedArgs.ChecksumAlgorithm);
5834Assert.Equal(SourceHashAlgorithm.Sha256, parsedArgs.ChecksumAlgorithm);
5839Assert.Equal(SourceHashAlgorithm.Sha384, parsedArgs.ChecksumAlgorithm);
5844Assert.Equal(SourceHashAlgorithm.Sha512, parsedArgs.ChecksumAlgorithm);
5850Assert.Equal(SourceHashAlgorithm.Sha256, parsedArgs.ChecksumAlgorithm);
14112context.AddSource("hint2", SourceText.From("class G2 { void F() {} }", Encoding.UTF8, checksumAlgorithm: SourceHashAlgorithm.Sha1));
14154context.AddSource("hint2", SourceText.From("class G2 { void F() {} }", Encoding.UTF8, checksumAlgorithm: SourceHashAlgorithm.Sha256));
Microsoft.CodeAnalysis.CSharp.EditorFeatures.UnitTests (1)
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (6)
PDB\CheckSumTest.cs (4)
36var tree1 = SyntaxFactory.ParseSyntaxTree(StringText.From(source1, Encoding.UTF8, SourceHashAlgorithm.Sha1), path: "sha1.cs");
37var tree256 = SyntaxFactory.ParseSyntaxTree(StringText.From(source256, Encoding.UTF8, SourceHashAlgorithm.Sha256), path: "sha256.cs");
38var tree384 = SyntaxFactory.ParseSyntaxTree(StringText.From(source384, Encoding.UTF8, SourceHashAlgorithm.Sha384), path: "sha384.cs");
39var tree512 = SyntaxFactory.ParseSyntaxTree(StringText.From(source512, Encoding.UTF8, SourceHashAlgorithm.Sha512), path: "sha512.cs");
Microsoft.CodeAnalysis.CSharp.Syntax.UnitTests (9)
Syntax\SyntaxTreeTests.cs (6)
86SyntaxTreeFactoryKind.ParseText => CSharpSyntaxTree.ParseText(SourceText.From(source, Encoding.UTF8, SourceHashAlgorithm.Sha256), parseOptions),
87SyntaxTreeFactoryKind.Subclass => new MockCSharpSyntaxTree(root, SourceText.From(source, Encoding.UTF8, SourceHashAlgorithm.Sha256), parseOptions),
122Assert.Equal(SourceHashAlgorithm.Sha1, tree.GetText().ChecksumAlgorithm);
134Assert.Equal(SourceHashAlgorithm.Sha1, tree.GetText().ChecksumAlgorithm);
253Assert.Equal(SourceHashAlgorithm.Sha1, newText.ChecksumAlgorithm);
295Assert.Equal(SourceHashAlgorithm.Sha1, newText.ChecksumAlgorithm);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (3)
Microsoft.CodeAnalysis.CSharp.Workspaces (3)
Microsoft.CodeAnalysis.EditorFeatures (4)
Microsoft.CodeAnalysis.EditorFeatures.Text (4)
Extensions.SnapshotSourceText.cs (3)
37private SnapshotSourceText(ITextBufferCloneService? textBufferCloneService, ITextSnapshot editorSnapshot, Encoding? encoding, SourceHashAlgorithm checksumAlgorithm, TextBufferContainer container)
48public SnapshotSourceText(ITextBufferCloneService? textBufferCloneService, ITextImage textImage, Encoding? encoding, SourceHashAlgorithm checksumAlgorithm, TextBufferContainer? container)
266public ClosedSnapshotSourceText(ITextBufferCloneService? textBufferCloneService, ITextImage textImage, Encoding? encoding, SourceHashAlgorithm checksumAlgorithm)
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (1)
Microsoft.CodeAnalysis.ExternalAccess.Copilot (1)
Microsoft.CodeAnalysis.ExternalAccess.HotReload (1)
Microsoft.CodeAnalysis.ExternalAccess.HotReload.UnitTests (6)
HotReloadMSBuildWorkspaceTests.cs (6)
46loader: TextLoader.From(TextAndVersion.Create(SourceText.From("class A;", Encoding.UTF8, SourceHashAlgorithm.Sha256), VersionStamp.Create())))
55.WithChecksumAlgorithm(SourceHashAlgorithm.Sha256)
83loader: TextLoader.From(TextAndVersion.Create(SourceText.From("class C;", Encoding.UTF8, SourceHashAlgorithm.Sha256), VersionStamp.Create()))),
88loader: TextLoader.From(TextAndVersion.Create(SourceText.From("class C;", Encoding.UTF8, SourceHashAlgorithm.Sha256), VersionStamp.Create())))
97.WithChecksumAlgorithm(SourceHashAlgorithm.Sha256)
119Assert.Equal(SourceHashAlgorithm.Sha256, project2.State.ChecksumAlgorithm);
Microsoft.CodeAnalysis.Features (20)
EditAndContinue\CommittedSolution.cs (7)
329var maybePdbHasDocument = TryReadSourceFileDebugInfo(document, sourceText.Encoding, out var requiredChecksum, out var checksumAlgorithm, out var defaultEncoding);
354SourceHashAlgorithm checksumAlgorithm,
417private static bool IsMatchingSourceText(SourceText sourceText, ImmutableArray<byte> requiredChecksum, SourceHashAlgorithm checksumAlgorithm)
425SourceHashAlgorithm checksumAlgorithm)
452private bool? TryReadSourceFileDebugInfo(Document document, Encoding? documentEncoding, out ImmutableArray<byte> checksum, out SourceHashAlgorithm checksumAlgorithm, out Encoding? defaultEncoding)
498out SourceHashAlgorithm algorithm)
512if (algorithm == SourceHashAlgorithm.None)
PdbSourceDocument\PdbSourceDocumentMetadataAsSourceFileProvider.cs (4)
214var projectChecksumAlgorithm = sourceDocuments[0].ChecksumAlgorithm;
295private ProjectInfo? CreateProjectInfo(Workspace workspace, Project project, ImmutableDictionary<string, string> pdbCompilationOptions, string assemblyName, string assemblyVersion, SourceHashAlgorithm checksumAlgorithm)
432internal sealed record SourceDocument(string FilePath, SourceHashAlgorithm ChecksumAlgorithm, ImmutableArray<byte> Checksum, byte[]? EmbeddedTextBytes, string? SourceLinkUrl);
434internal record struct SourceDocumentInfo(DocumentId DocumentId, Encoding Encoding, SourceHashAlgorithm ChecksumAlgorithm, ProjectId SourceProjectId, Workspace SourceWorkspace, DocumentInfo DocumentInfo);
Microsoft.CodeAnalysis.Features.Test.Utilities (10)
Microsoft.CodeAnalysis.Features.UnitTests (12)
EditAndContinue\EditAndContinueWorkspaceServiceTests.cs (11)
68var sourceTreeC1 = SyntaxFactory.ParseSyntaxTree(SourceText.From(sourceBytesC1, sourceBytesC1.Length, encodingC, SourceHashAlgorithm.Sha1), TestOptions.Regular, sourceFileC.Path);
84.WithProjectChecksumAlgorithm(projectPId, SourceHashAlgorithm.Sha1);
115Assert.Equal(SourceHashAlgorithm.Sha1, solution.GetDocument(documentIdA).GetTextSynchronously(default).ChecksumAlgorithm);
116Assert.Equal(SourceHashAlgorithm.Sha1, solution.GetDocument(documentIdB).GetTextSynchronously(default).ChecksumAlgorithm);
117Assert.Equal(SourceHashAlgorithm.Sha1, solution.GetDocument(documentIdC).GetTextSynchronously(default).ChecksumAlgorithm);
118Assert.Equal(SourceHashAlgorithm.Sha1, solution.GetDocument(documentIdE).GetTextSynchronously(default).ChecksumAlgorithm);
1177AddDocument("a.cs", SourceText.From(source1, Encoding.UTF8, SourceHashAlgorithm.Sha1), filePath: sourceFile.Path);
1583WithProjectChecksumAlgorithm(projectId, SourceHashAlgorithm.Sha1).
1584AddDocument(documentId = DocumentId.CreateNewId(projectId), "test.cs", SourceText.From(editorSource, editorEncoding, SourceHashAlgorithm.Sha1), filePath: sourceFile.Path);
1588var moduleId = EmitAndLoadLibraryToDebuggee(projectId, fileSource, sourceFilePath: sourceFile.Path, encoding: compilerEncoding, defaultEncoding: defaultEncoding, checksumAlgorithm: SourceHashAlgorithm.Sha256);
2517context.AddSource("generated.cs", SourceText.From("generated: " + additionalText, Encoding.UTF8, SourceHashAlgorithm.Sha256));
Microsoft.CodeAnalysis.LanguageServer (1)
Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (9)
Microsoft.CodeAnalysis.PublicApiAnalyzers (9)
src\Compilers\Core\Portable\EncodedStringText.cs (8)
99/// from <see cref="SourceText.From(Stream, Encoding, SourceHashAlgorithm, bool)"/> in two ways:
119SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
132SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
175SourceHashAlgorithm checksumAlgorithm,
275internal static SourceText Create(Stream stream, Lazy<Encoding> getEncoding, Encoding defaultEncoding, SourceHashAlgorithm checksumAlgorithm, bool canBeEmbedded)
278internal static SourceText Decode(Stream data, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected, bool canBeEmbedded)
Microsoft.CodeAnalysis.Rebuild (7)
Microsoft.CodeAnalysis.Rebuild.UnitTests (16)
Microsoft.CodeAnalysis.Remote.ServiceHub (1)
Microsoft.CodeAnalysis.Remote.Workspaces (1)
Microsoft.CodeAnalysis.ResxSourceGenerator (12)
src\Compilers\Core\Portable\EncodedStringText.cs (8)
99/// from <see cref="SourceText.From(Stream, Encoding, SourceHashAlgorithm, bool)"/> in two ways:
119SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
132SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
175SourceHashAlgorithm checksumAlgorithm,
275internal static SourceText Create(Stream stream, Lazy<Encoding> getEncoding, Encoding defaultEncoding, SourceHashAlgorithm checksumAlgorithm, bool canBeEmbedded)
278internal static SourceText Decode(Stream data, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected, bool canBeEmbedded)
Microsoft.CodeAnalysis.ResxSourceGenerator.UnitTests (2)
Microsoft.CodeAnalysis.Test.Utilities (2)
Microsoft.CodeAnalysis.UnitTests (57)
EmbeddedTextTests.cs (26)
28Assert.Throws<ArgumentException>("checksumAlgorithm", () => EmbeddedText.FromBytes("path", new ArraySegment<byte>(new byte[0], 0, 0), SourceHashAlgorithm.None));
54Assert.Throws<ArgumentException>("checksumAlgorithm", () => EmbeddedText.FromStream("path", new MemoryStream(), SourceHashAlgorithm.None));
81var text = EmbeddedText.FromBytes("pathToEmpty", new ArraySegment<byte>(new byte[0], 0, 0), SourceHashAlgorithm.Sha1);
83Assert.Equal(SourceHashAlgorithm.Sha1, text.ChecksumAlgorithm);
84AssertEx.Equal(SourceText.CalculateChecksum(new byte[0], 0, 0, SourceHashAlgorithm.Sha1), text.Checksum);
91var text = EmbeddedText.FromStream("pathToEmpty", new MemoryStream(new byte[0]), SourceHashAlgorithm.Sha1);
92var checksum = SourceText.CalculateChecksum(new byte[0], 0, 0, SourceHashAlgorithm.Sha1);
95Assert.Equal(SourceHashAlgorithm.Sha1, text.ChecksumAlgorithm);
103var source = SourceText.From("", new UTF8Encoding(encoderShouldEmitUTF8Identifier: false), SourceHashAlgorithm.Sha1);
105var checksum = SourceText.CalculateChecksum(new byte[0], 0, 0, SourceHashAlgorithm.Sha1);
108Assert.Equal(SourceHashAlgorithm.Sha1, text.ChecksumAlgorithm);
117var checksum = SourceText.CalculateChecksum(bytes, 0, bytes.Length, SourceHashAlgorithm.Sha1);
121Assert.Equal(SourceHashAlgorithm.Sha1, text.ChecksumAlgorithm);
132var checksum = SourceText.CalculateChecksum(bytes, 0, bytes.Length, SourceHashAlgorithm.Sha1);
137Assert.Equal(SourceHashAlgorithm.Sha1, text.ChecksumAlgorithm);
145var source = SourceText.From(SmallSource, Encoding.UTF8, SourceHashAlgorithm.Sha1);
149Assert.Equal(SourceHashAlgorithm.Sha1, text.ChecksumAlgorithm);
200var expected = SourceText.From(SmallSource, Encoding.UTF8, SourceHashAlgorithm.Sha1);
203var actual = SourceText.From(new StringReader(SmallSource), SmallSource.Length, Encoding.UTF8, SourceHashAlgorithm.Sha1);
215var expected = SourceText.From(LargeSource, Encoding.UTF8, SourceHashAlgorithm.Sha1);
218var actual = SourceText.From(new StringReader(LargeSource), LargeSource.Length, Encoding.UTF8, SourceHashAlgorithm.Sha1);
236SourceText.From(new MemoryStream(bytes), Encoding.ASCII, SourceHashAlgorithm.Sha1, canBeEmbedded: true) :
237SourceText.From(bytes, bytes.Length, Encoding.ASCII, SourceHashAlgorithm.Sha1, canBeEmbedded: true);
241Assert.Equal(SourceHashAlgorithm.Sha1, text.ChecksumAlgorithm);
242AssertEx.Equal(SourceText.CalculateChecksum(bytes, 0, bytes.Length, SourceHashAlgorithm.Sha1), source.GetChecksum());
256Assert.Equal(SourceHashAlgorithm.Sha1, text.ChecksumAlgorithm);
Text\SourceTextTests.cs (21)
85Assert.Equal(SourceHashAlgorithm.Sha1, SourceText.From(HelloWorld).ChecksumAlgorithm);
88Assert.Equal(SourceHashAlgorithm.Sha1, SourceText.From(bytes, bytes.Length).ChecksumAlgorithm);
91Assert.Equal(SourceHashAlgorithm.Sha1, SourceText.From(stream).ChecksumAlgorithm);
95[InlineData(SourceHashAlgorithm.Sha1, "ff1816ec-aa5e-4d10-87f7-6f4963833460")]
96[InlineData(SourceHashAlgorithm.Sha256, "8829d00f-11b8-4213-878b-770e8597ac16")]
97[InlineData(SourceHashAlgorithm.Sha384, "d99cfeb1-8c43-444a-8a6c-b61269d2a0bf")]
98[InlineData(SourceHashAlgorithm.Sha512, "ef2d1afc-6550-46d6-b14b-d70afe9a5566")]
99public void ChecksumAlgorithm_GuidRoundTrip(SourceHashAlgorithm algorithm, string expectedGuid)
107[InlineData(SourceHashAlgorithm.Sha1)]
108[InlineData(SourceHashAlgorithm.Sha256)]
109[InlineData(SourceHashAlgorithm.Sha384)]
110[InlineData(SourceHashAlgorithm.Sha512)]
111public void ChecksumAlgorithm1(SourceHashAlgorithm algorithm)
125var checksumAlgorithm = SourceHashAlgorithm.Sha1;
215private static SourceText FromLargeTextWriter(string source, Encoding encoding, SourceHashAlgorithm checksumAlgorithm)
266var hashAlgorithms = new[] { SourceHashAlgorithm.Sha1, SourceHashAlgorithm.Sha256, SourceHashAlgorithm.Sha384, SourceHashAlgorithm.Sha512 };
279foreach (var algorithm in hashAlgorithms)
Text\StringTextDecodingTests.cs (8)
19private static SourceText CreateMemoryStreamBasedEncodedText(string text, Encoding writeEncoding, Encoding readEncodingOpt, SourceHashAlgorithm algorithm = SourceHashAlgorithm.Sha1)
26private static SourceText CreateMemoryStreamBasedEncodedText(byte[] bytes, Encoding readEncodingOpt, SourceHashAlgorithm algorithm = SourceHashAlgorithm.Sha1)
42SourceHashAlgorithm algorithm = SourceHashAlgorithm.Sha1)
134var data = CreateMemoryStreamBasedEncodedText("", Encoding.UTF8, readEncodingOpt: null, algorithm: SourceHashAlgorithm.Sha256);
161EncodedStringText.TestAccessor.Decode(stream, utf8, SourceHashAlgorithm.Sha1, throwIfBinaryDetected: false, canBeEmbedded: false);
Microsoft.CodeAnalysis.VisualBasic (11)
Syntax\SyntaxNodeFactories.vb (2)
37Return VisualBasicSyntaxTree.Create(DirectCast(root, VisualBasicSyntaxNode), If(DirectCast(options, VisualBasicParseOptions), VisualBasicParseOptions.Default), path, encoding, SourceHashAlgorithm.Sha1)
50Return ParseSyntaxTree(SourceText.From(text, encoding, SourceHashAlgorithm.Sha1), options, path, cancellationToken)
Microsoft.CodeAnalysis.Workspaces (73)
src\Compilers\Core\Portable\EncodedStringText.cs (8)
99/// from <see cref="SourceText.From(Stream, Encoding, SourceHashAlgorithm, bool)"/> in two ways:
119SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
132SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
175SourceHashAlgorithm checksumAlgorithm,
275internal static SourceText Create(Stream stream, Lazy<Encoding> getEncoding, Encoding defaultEncoding, SourceHashAlgorithm checksumAlgorithm, bool canBeEmbedded)
278internal static SourceText Decode(Stream data, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected, bool canBeEmbedded)
src\Compilers\Core\Portable\Text\SourceHashAlgorithms.cs (30)
16public const SourceHashAlgorithm Default = SourceHashAlgorithm.Sha256;
23public const SourceHashAlgorithm OpenDocumentChecksumAlgorithm = Default;
30public static bool IsSupportedAlgorithm(SourceHashAlgorithm algorithm)
33SourceHashAlgorithm.Sha1 => true,
34SourceHashAlgorithm.Sha256 => true,
35SourceHashAlgorithm.Sha384 => true,
36SourceHashAlgorithm.Sha512 => true,
40public static Guid GetAlgorithmGuid(SourceHashAlgorithm algorithm)
43SourceHashAlgorithm.Sha1 => s_guidSha1,
44SourceHashAlgorithm.Sha256 => s_guidSha256,
45SourceHashAlgorithm.Sha384 => s_guidSha384,
46SourceHashAlgorithm.Sha512 => s_guidSha512,
50public static SourceHashAlgorithm GetSourceHashAlgorithm(Guid guid)
51=> (guid == s_guidSha256) ? SourceHashAlgorithm.Sha256 :
52(guid == s_guidSha1) ? SourceHashAlgorithm.Sha1 :
53(guid == s_guidSha384) ? SourceHashAlgorithm.Sha384 :
54(guid == s_guidSha512) ? SourceHashAlgorithm.Sha512 :
55SourceHashAlgorithm.None;
57private static HashAlgorithm CreateInstance(SourceHashAlgorithm algorithm)
62SourceHashAlgorithm.Sha1 => SHA1.Create(),
63SourceHashAlgorithm.Sha256 => SHA256.Create(),
64SourceHashAlgorithm.Sha384 => SHA384.Create(),
65SourceHashAlgorithm.Sha512 => SHA512.Create(),
75public static bool TryParseAlgorithmName(string name, out SourceHashAlgorithm algorithm)
79algorithm = SourceHashAlgorithm.Sha1;
85algorithm = SourceHashAlgorithm.Sha256;
91algorithm = SourceHashAlgorithm.Sha384;
97algorithm = SourceHashAlgorithm.Sha512;
101algorithm = SourceHashAlgorithm.None;
Microsoft.CodeAnalysis.Workspaces.MSBuild (2)
Microsoft.CodeAnalysis.Workspaces.MSBuild.UnitTests (5)
Microsoft.CodeAnalysis.Workspaces.Test.Utilities (2)
Microsoft.CodeAnalysis.Workspaces.UnitTests (41)
SolutionTests\SolutionTests.cs (40)
303Assert.Equal(SourceHashAlgorithm.Sha1, tree.GetText().ChecksumAlgorithm);
362var text = SourceText.From("new text", encoding: null, SourceHashAlgorithm.Sha1);
463var text = SourceText.From("new text", encoding: null, SourceHashAlgorithm.Sha1);
551var text = SourceText.From("new text", encoding: null, SourceHashAlgorithm.Sha1);
634var text = SourceText.From("new text without pp directives", encoding: null, SourceHashAlgorithm.Sha1);
717var text = SourceText.From("#if true", encoding: null, SourceHashAlgorithm.Sha1);
793var text = SourceText.From("new text", encoding: null, SourceHashAlgorithm.Sha1);
880var text = SourceText.From(" ", encoding: null, SourceHashAlgorithm.Sha1);
1103.AddProject(ProjectInfo.Create(projectId, VersionStamp.Default, "proj1", "proj1", LanguageNames.CSharp, Path.Combine(s_projectDir, "proj1.dll")).WithChecksumAlgorithm(SourceHashAlgorithm.Sha1))
1120loader: TextLoader.From(TextAndVersion.Create(SourceText.From("class NewD1;", Encoding.UTF32, SourceHashAlgorithm.Sha256), VersionStamp.Create(), filePath: Path.Combine(s_projectDir, "newD1.cs"))),
1139loader: TextLoader.From(TextAndVersion.Create(SourceText.From("new text1", Encoding.UTF32, SourceHashAlgorithm.Sha256), VersionStamp.Create(), filePath: Path.Combine(s_projectDir, "newD1.cs"))),
1158loader: TextLoader.From(TextAndVersion.Create(SourceText.From("#new empty1", Encoding.UTF32, SourceHashAlgorithm.Sha256), VersionStamp.Create(), filePath: Path.Combine(s_projectDir, "newD1.cs"))),
1210.WithChecksumAlgorithm(SourceHashAlgorithm.Sha256)
1252Assert.Equal(SourceHashAlgorithm.Sha256, newText1.ChecksumAlgorithm);
1273Assert.Equal(SourceHashAlgorithm.Sha256, newAddText1.ChecksumAlgorithm);
1294Assert.Equal(SourceHashAlgorithm.Sha256, newConfigText1.ChecksumAlgorithm);
1677var textLoaderA = new TestTextLoader("class A {}", SourceHashAlgorithm.Sha1);
1678var textC = SourceText.From("class C {}", encoding: null, checksumAlgorithm: SourceHashAlgorithm.Sha1);
1682.WithProjectChecksumAlgorithm(projectId, SourceHashAlgorithm.Sha1);
1689await Verify(solution.GetRequiredDocument(documentAId), SourceHashAlgorithm.Sha1);
1690await Verify(solution.GetRequiredDocument(documentBId), SourceHashAlgorithm.Sha1);
1691await Verify(solution.GetRequiredDocument(documentCId), SourceHashAlgorithm.Sha1);
1692await Verify(solution.GetRequiredDocument(fileDocumentId), SourceHashAlgorithm.Sha1, checksumSHA1);
1695solution = solution.WithProjectChecksumAlgorithm(projectId, SourceHashAlgorithm.Sha256);
1696await Verify(solution.GetRequiredDocument(documentAId), SourceHashAlgorithm.Sha1);
1697await Verify(solution.GetRequiredDocument(documentBId), SourceHashAlgorithm.Sha1);
1698await Verify(solution.GetRequiredDocument(documentCId), SourceHashAlgorithm.Sha1);
1699await Verify(solution.GetRequiredDocument(fileDocumentId), SourceHashAlgorithm.Sha256, checksumSHA256);
1702solution = solution.WithProjectChecksumAlgorithm(projectId, SourceHashAlgorithm.Sha1);
1703await Verify(solution.GetRequiredDocument(documentAId), SourceHashAlgorithm.Sha1);
1704await Verify(solution.GetRequiredDocument(documentBId), SourceHashAlgorithm.Sha1);
1705await Verify(solution.GetRequiredDocument(documentCId), SourceHashAlgorithm.Sha1);
1706await Verify(solution.GetRequiredDocument(fileDocumentId), SourceHashAlgorithm.Sha1, checksumSHA1);
1708static async Task Verify(Document document, SourceHashAlgorithm expectedAlgorithm, byte[]? expectedChecksum = null)
2427var loader = new TestTextLoader(checksumAlgorithm: SourceHashAlgorithm.Sha1);
2435Assert.Equal(SourceHashAlgorithm.Sha1, document.GetTextSynchronously(default).ChecksumAlgorithm);
2674var root = CSharp.SyntaxFactory.ParseSyntaxTree(SourceText.From("class C {}", encoding: Encoding.ASCII, SourceHashAlgorithm.Sha1)).GetRoot();
2675Assert.Equal(SourceHashAlgorithm.Sha1, root.SyntaxTree.GetText().ChecksumAlgorithm);
2707Assert.Equal(SourceHashAlgorithm.Sha1, root.SyntaxTree.GetText().ChecksumAlgorithm);
3973.AddDocument(did, "test", SourceText.From(language == LanguageNames.CSharp ? "class C {}" : "Class C : End Class", Encoding.UTF8, SourceHashAlgorithm.Sha256), filePath: "old path");
Microsoft.VisualStudio.LanguageServices (1)
Microsoft.VisualStudio.LanguageServices.CSharp.UnitTests (1)
Microsoft.VisualStudio.LanguageServices.LiveShare (1)
Roslyn.Diagnostics.Analyzers (9)
src\Compilers\Core\Portable\EncodedStringText.cs (8)
99/// from <see cref="SourceText.From(Stream, Encoding, SourceHashAlgorithm, bool)"/> in two ways:
119SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
132SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
175SourceHashAlgorithm checksumAlgorithm,
275internal static SourceText Create(Stream stream, Lazy<Encoding> getEncoding, Encoding defaultEncoding, SourceHashAlgorithm checksumAlgorithm, bool canBeEmbedded)
278internal static SourceText Decode(Stream data, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected, bool canBeEmbedded)
Roslyn.VisualStudio.Next.UnitTests (8)
Services\ServiceHubServicesTests.cs (6)
514private static SourceText CreateText(string content, Encoding encoding = null, SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1)
524return SourceText.From(stream, encoding, SourceHashAlgorithm.Sha1, throwIfBinaryDetected: true);
528return SourceText.From(bytes, bytes.Length, encoding, SourceHashAlgorithm.Sha1, throwIfBinaryDetected: true);
600[("SG.cs", CreateText("X", Encoding.UTF8, checksumAlgorithm: SourceHashAlgorithm.Sha1))],
601[("SG.cs", CreateText("X", Encoding.UTF8, checksumAlgorithm: SourceHashAlgorithm.Sha256))]);
StackDepthTest (1)
Test.Utilities (9)
src\Compilers\Core\Portable\EncodedStringText.cs (8)
99/// from <see cref="SourceText.From(Stream, Encoding, SourceHashAlgorithm, bool)"/> in two ways:
119SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
132SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
175SourceHashAlgorithm checksumAlgorithm,
275internal static SourceText Create(Stream stream, Lazy<Encoding> getEncoding, Encoding defaultEncoding, SourceHashAlgorithm checksumAlgorithm, bool canBeEmbedded)
278internal static SourceText Decode(Stream data, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected, bool canBeEmbedded)
Text.Analyzers (9)
src\Compilers\Core\Portable\EncodedStringText.cs (8)
99/// from <see cref="SourceText.From(Stream, Encoding, SourceHashAlgorithm, bool)"/> in two ways:
119SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
132SourceHashAlgorithm checksumAlgorithm = SourceHashAlgorithm.Sha1,
175SourceHashAlgorithm checksumAlgorithm,
275internal static SourceText Create(Stream stream, Lazy<Encoding> getEncoding, Encoding defaultEncoding, SourceHashAlgorithm checksumAlgorithm, bool canBeEmbedded)
278internal static SourceText Decode(Stream data, Encoding encoding, SourceHashAlgorithm checksumAlgorithm, bool throwIfBinaryDetected, bool canBeEmbedded)