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)); }
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); }