diff --git a/DllImportGenerator/Directory.Build.props b/DllImportGenerator/Directory.Build.props new file mode 100644 index 000000000000..81194ffe87da --- /dev/null +++ b/DllImportGenerator/Directory.Build.props @@ -0,0 +1,7 @@ + + + + 3.8.0-3.final + + + diff --git a/DllImportGenerator/DllImportGenerator.Test/DllImportGenerator.Test.csproj b/DllImportGenerator/DllImportGenerator.Test/DllImportGenerator.Test.csproj index 298f48c67864..75fb2cb381c8 100644 --- a/DllImportGenerator/DllImportGenerator.Test/DllImportGenerator.Test.csproj +++ b/DllImportGenerator/DllImportGenerator.Test/DllImportGenerator.Test.csproj @@ -7,10 +7,10 @@ - - + + - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/DllImportGenerator/DllImportGenerator.Test/TestUtils.cs b/DllImportGenerator/DllImportGenerator.Test/TestUtils.cs index 1b374e257e1e..49ca8e625f60 100644 --- a/DllImportGenerator/DllImportGenerator.Test/TestUtils.cs +++ b/DllImportGenerator/DllImportGenerator.Test/TestUtils.cs @@ -1,7 +1,6 @@ using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.Testing; -using System.Collections.Generic; using System.Collections.Immutable; using System.Linq; using System.Reflection; @@ -70,14 +69,13 @@ public static (ReferenceAssemblies, MetadataReference) GetReferenceAssemblies() /// The resulting compilation public static Compilation RunGenerators(Compilation comp, out ImmutableArray diagnostics, params ISourceGenerator[] generators) { - CreateDriver(comp, generators).RunFullGeneration(comp, out var d, out diagnostics); + CreateDriver(comp, generators).RunGeneratorsAndUpdateCompilation(comp, out var d, out diagnostics); return d; } private static GeneratorDriver CreateDriver(Compilation c, params ISourceGenerator[] generators) - => new CSharpGeneratorDriver(c.SyntaxTrees.First().Options, + => CSharpGeneratorDriver.Create( ImmutableArray.Create(generators), - null, - ImmutableArray.Empty); + parseOptions: (CSharpParseOptions)c.SyntaxTrees.First().Options); } } diff --git a/DllImportGenerator/DllImportGenerator/DllImportGenerator.cs b/DllImportGenerator/DllImportGenerator/DllImportGenerator.cs index d81eb6ea8d3d..4d9ce3989205 100644 --- a/DllImportGenerator/DllImportGenerator/DllImportGenerator.cs +++ b/DllImportGenerator/DllImportGenerator/DllImportGenerator.cs @@ -20,7 +20,7 @@ public class DllImportGenerator : ISourceGenerator private const string GeneratedDllImport = nameof(GeneratedDllImport); private const string GeneratedDllImportAttribute = nameof(GeneratedDllImportAttribute); - public void Execute(SourceGeneratorContext context) + public void Execute(GeneratorExecutionContext context) { var synRec = context.SyntaxReceiver as SyntaxReceiver; if (synRec is null) @@ -70,7 +70,7 @@ public void Execute(SourceGeneratorContext context) context.AddSource("DllImportGenerator.g.cs", SourceText.From(generatedDllImports.ToString(), Encoding.UTF8)); } - public void Initialize(InitializationContext context) + public void Initialize(GeneratorInitializationContext context) { context.RegisterForSyntaxNotifications(() => new SyntaxReceiver()); } diff --git a/DllImportGenerator/DllImportGenerator/DllImportGenerator.csproj b/DllImportGenerator/DllImportGenerator/DllImportGenerator.csproj index 64514d1541cb..5e60199190e1 100644 --- a/DllImportGenerator/DllImportGenerator/DllImportGenerator.csproj +++ b/DllImportGenerator/DllImportGenerator/DllImportGenerator.csproj @@ -33,8 +33,8 @@ - - + + diff --git a/DllImportGenerator/DllImportGenerator/TypeSymbolExtensions.cs b/DllImportGenerator/DllImportGenerator/TypeSymbolExtensions.cs index 90726c84b643..97e6b5cf1b67 100644 --- a/DllImportGenerator/DllImportGenerator/TypeSymbolExtensions.cs +++ b/DllImportGenerator/DllImportGenerator/TypeSymbolExtensions.cs @@ -132,10 +132,7 @@ public static bool IsAutoLayout(this INamedTypeSymbol type, ITypeSymbol structLa public static TypeSyntax AsTypeSyntax(this ITypeSymbol type) { - // [TODO] Use ParseTypeName overload with default values for offset and consumeFullText after switching - // to Roslyn package that has the change from CSharpParseOptions -> ParseOptions in that overload - // return SyntaxFactory.ParseTypeName(type.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)); - return SyntaxFactory.ParseTypeName(type.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat), offset: 0, consumeFullText: true); + return SyntaxFactory.ParseTypeName(type.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat)); } } }