Exemplo n.º 1
0
        public void RewritePinvoke(string inputFile, string outputFile)
        {
            var syntaxTree = SyntaxTree.ParseFile(Path.GetFullPath(inputFile));
            var root       = syntaxTree.GetRoot();

            var compilation = Compilation.Create("PinvokeRewriter")
                              .AddSyntaxTrees(syntaxTree)
                              .AddReferences(new MetadataFileReference(typeof(object).Assembly.Location));

            var semanticModel = compilation.GetSemanticModel(syntaxTree);

            var pinvokeRewriter = new PinvokeSyntaxRewriter(semanticModel);
            var rewritten       = pinvokeRewriter.Visit(root).Format(FormattingOptions.GetDefaultOptions()).GetFormattedRoot();

            using (var writer = new StreamWriter(outputFile))
            {
                rewritten.WriteTo(writer);
            }
        }
Exemplo n.º 2
0
        public void RewritePinvoke(string inputFile, string outputFile)
        {
            var syntaxTree = SyntaxTree.ParseFile(Path.GetFullPath(inputFile));
            var root = syntaxTree.GetRoot();

            var compilation = Compilation.Create("PinvokeRewriter")
                .AddSyntaxTrees(syntaxTree)
                .AddReferences(new MetadataFileReference(typeof(object).Assembly.Location));

            var semanticModel = compilation.GetSemanticModel(syntaxTree);

            var pinvokeRewriter = new PinvokeSyntaxRewriter(semanticModel);
            var rewritten = pinvokeRewriter.Visit(root).Format(FormattingOptions.GetDefaultOptions()).GetFormattedRoot();

            using (var writer = new StreamWriter(outputFile))
            {
                rewritten.WriteTo(writer);
            }
        }