public static OutputResponse CreateOutPut(AnalysisRequest request, RootNode rootNode)
        {
            if (request == null)
            {
                throw new ArgumentNullException("request");
            }
            if (rootNode == null)
            {
                throw new ArgumentNullException("rootNode");
            }

            IOutputProvider outputProvider = OutputFactory.CreateProvider(request.OutPutType);

            return(outputProvider.Create(rootNode, request.OutPutFolder));
        }
Esempio n. 2
0
        public void Save(IOutputProvider OutputProvider)
        {
            // Create the module.
            LLVMModuleRef module = ToModule();

            // Verify it.
            // IntPtr error;
            // VerifyModule(module, LLVMVerifierFailureAction.LLVMPrintMessageAction, out error);
            // DisposeMessage(error);

            // Write it to the output file.
            var    file         = OutputProvider.Create();
            IntPtr moduleOutput = PrintModuleToString(module);
            var    ir           = Marshal.PtrToStringAnsi(moduleOutput);

            using (var writer = new StreamWriter(file.OpenOutput()))
            {
                writer.Write(ir);
            }
            DisposeMessage(moduleOutput);
            DisposeModule(module);
        }