Exemplo n.º 1
0
 public SourceGeneratorItem(ProjectId projectId, ISourceGenerator generator, AnalyzerReference analyzerReference)
     : base(name: SourceGeneratedDocumentIdentity.GetGeneratorTypeName(generator))
 {
     ProjectId             = projectId;
     GeneratorAssemblyName = SourceGeneratedDocumentIdentity.GetGeneratorAssemblyName(generator);
     AnalyzerReference     = analyzerReference;
 }
Exemplo n.º 2
0
        public T?Deserialize <T>(WellKnownSynchronizationKind kind, ObjectReader reader, CancellationToken cancellationToken)
        {
            using (Logger.LogBlock(FunctionId.Serializer_Deserialize, s_logKind, kind, cancellationToken))
            {
                cancellationToken.ThrowIfCancellationRequested();

                switch (kind)
                {
                case WellKnownSynchronizationKind.Null:
                    return(default);

                case WellKnownSynchronizationKind.SolutionState:
                case WellKnownSynchronizationKind.ProjectState:
                case WellKnownSynchronizationKind.DocumentState:
                case WellKnownSynchronizationKind.ChecksumCollection:
                    return((T)(object)DeserializeChecksumWithChildren(reader, cancellationToken));

                case WellKnownSynchronizationKind.SolutionAttributes:
                    return((T)(object)SolutionInfo.SolutionAttributes.ReadFrom(reader));

                case WellKnownSynchronizationKind.ProjectAttributes:
                    return((T)(object)ProjectInfo.ProjectAttributes.ReadFrom(reader));

                case WellKnownSynchronizationKind.DocumentAttributes:
                    return((T)(object)DocumentInfo.DocumentAttributes.ReadFrom(reader));

                case WellKnownSynchronizationKind.SourceGeneratedDocumentIdentity:
                    return((T)(object)SourceGeneratedDocumentIdentity.ReadFrom(reader));

                case WellKnownSynchronizationKind.CompilationOptions:
                    return((T)(object)DeserializeCompilationOptions(reader, cancellationToken));

                case WellKnownSynchronizationKind.ParseOptions:
                    return((T)(object)DeserializeParseOptions(reader, cancellationToken));

                case WellKnownSynchronizationKind.ProjectReference:
                    return((T)(object)DeserializeProjectReference(reader, cancellationToken));

                case WellKnownSynchronizationKind.MetadataReference:
                    return((T)(object)DeserializeMetadataReference(reader, cancellationToken));

                case WellKnownSynchronizationKind.AnalyzerReference:
                    return((T)(object)DeserializeAnalyzerReference(reader, cancellationToken));

                case WellKnownSynchronizationKind.SerializableSourceText:
                    return((T)(object)DeserializeSerializableSourceText(reader, cancellationToken));

                case WellKnownSynchronizationKind.SourceText:
                    return((T)(object)DeserializeSourceText(reader, cancellationToken));

                case WellKnownSynchronizationKind.OptionSet:
                    return((T)(object)DeserializeOptionSet(reader, cancellationToken));

                default:
                    throw ExceptionUtilities.UnexpectedValue(kind);
                }
            }
        }