public override void Run() { IViewContent content = WorkbenchSingleton.Workbench.ActiveViewContent; if (content != null && content.PrimaryFileName != null && content is IEditable) { IParser p = ParserFactory.CreateParser(SupportedLanguage.VBNet, new StringReader(((IEditable)content).Text)); p.Parse(); if (p.Errors.Count > 0) { MessageService.ShowError("${res:ICSharpCode.SharpDevelop.Commands.Convert.CorrectSourceCodeErrors}\n" + p.Errors.ErrorOutput); return; } ICSharpCode.NRefactory.PrettyPrinter.CSharpOutputVisitor output = new ICSharpCode.NRefactory.PrettyPrinter.CSharpOutputVisitor(); List <ISpecial> specials = p.Lexer.SpecialTracker.CurrentSpecials; PreprocessingDirective.VBToCSharp(specials); IAstVisitor v = new VBNetToCSharpConvertVisitor(ParserService.CurrentProjectContent, ParserService.GetParseInformation(content.PrimaryFileName)); v.VisitCompilationUnit(p.CompilationUnit, null); using (SpecialNodesInserter.Install(specials, output)) { output.VisitCompilationUnit(p.CompilationUnit, null); } FileService.NewFile("Generated.cs", output.Text); } }
public override void Run() { IViewContent content = WorkbenchSingleton.Workbench.ActiveViewContent; if (content != null && content.PrimaryFileName != null && content is IEditable) { IParser p = ParserFactory.CreateParser(SupportedLanguage.VBNet, new StringReader(((IEditable)content).Text)); p.Parse(); if (p.Errors.Count > 0) { MessageService.ShowError("${res:ICSharpCode.SharpDevelop.Commands.Convert.CorrectSourceCodeErrors}\n" + p.Errors.ErrorOutput); return; } ICSharpCode.NRefactory.PrettyPrinter.CSharpOutputVisitor output = new ICSharpCode.NRefactory.PrettyPrinter.CSharpOutputVisitor(); List<ISpecial> specials = p.Lexer.SpecialTracker.CurrentSpecials; PreprocessingDirective.VBToCSharp(specials); IAstVisitor v = new VBNetToCSharpConvertVisitor(ParserService.CurrentProjectContent, ParserService.GetParseInformation(content.PrimaryFileName)); v.VisitCompilationUnit(p.CompilationUnit, null); using (SpecialNodesInserter.Install(specials, output)) { output.VisitCompilationUnit(p.CompilationUnit, null); } FileService.NewFile("Generated.cs", output.Text); } }
public override void Run() { IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow; if (window != null && window.ViewContent is IEditable) { IParser p = ParserFactory.CreateParser(SupportedLanguage.VBNet, new StringReader(((IEditable)window.ViewContent).Text)); p.Parse(); if (p.Errors.Count > 0) { MessageService.ShowError("${res:ICSharpCode.SharpDevelop.Commands.Convert.CorrectSourceCodeErrors}\n" + p.Errors.ErrorOutput); return; } ICSharpCode.NRefactory.PrettyPrinter.CSharpOutputVisitor output = new ICSharpCode.NRefactory.PrettyPrinter.CSharpOutputVisitor(); List <ISpecial> specials = p.Lexer.SpecialTracker.CurrentSpecials; PreprocessingDirective.VBToCSharp(specials); new VBNetToCSharpConvertVisitor().VisitCompilationUnit(p.CompilationUnit, null); using (SpecialNodesInserter.Install(specials, output)) { output.VisitCompilationUnit(p.CompilationUnit, null); } FileService.NewFile("Generated.CS", "C#", output.Text); } }
public override void Run() { IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow; if (window != null && window.ViewContent is IEditable) { IParser p = ParserFactory.CreateParser(SupportedLanguage.VBNet, new StringReader(((IEditable)window.ViewContent).Text)); p.Parse(); if (p.Errors.Count > 0) { MessageService.ShowError("${res:ICSharpCode.SharpDevelop.Commands.Convert.CorrectSourceCodeErrors}\n" + p.Errors.ErrorOutput); return; } ICSharpCode.NRefactory.PrettyPrinter.CSharpOutputVisitor output = new ICSharpCode.NRefactory.PrettyPrinter.CSharpOutputVisitor(); List<ISpecial> specials = p.Lexer.SpecialTracker.CurrentSpecials; PreprocessingDirective.VBToCSharp(specials); new VBNetToCSharpConvertVisitor().VisitCompilationUnit(p.CompilationUnit, null); using (SpecialNodesInserter.Install(specials, output)) { output.VisitCompilationUnit(p.CompilationUnit, null); } FileService.NewFile("Generated.CS", "C#", output.Text); } }